IDC:物联网平台——物联网市场的催化剂

IDC最新发布了《中国物联网平台支出预测与分析》研究报告。报告预测,2021年,中国物联网平台支出将达到62.2亿美元(约419.7亿元人民币)。这一增长得益于中国经济的稳定增长和政府、制造、公共事业等行业对于新兴技术的强劲需求。IDC预计,未来四年(2017年至2021年)中国物联网平台支出将保持13.0%的年均复合增长率。

stm32之SPI通信协议

SPI (Serial Peripheral interface),顾名思义就是串行外围设备接口。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间

SPI内部简明结构图

单片机开发中的一些实用技巧(上)

很多朋友正在学习单片机开发技术,但开发中免不了要碰到这样、那样的问题,有些问题可能无碍大局,但有一些问题却直接影响到产品的成本、体积、性能。这里介绍笔者的几个技巧,希望对大家的工作有帮助。

一、C语言中嵌入汇编语言

单片机开发中,通常我们使用C语言编写主程序,这样可以充分借助C语言工具提供的运算库函数及强大的数据处理能力。但C语言的可控性不及汇编语言,在有些对时序要求严格的处理上,我们还需用灵活性更强的汇编语言来编写。上海AVR单片机培训这样就产生了C语言和汇编语言混合编程的问题,一般分成三种方式:
1.汇编语言调用C语言函数;
2. C语言调用汇编语言;
3. C语言中嵌入汇编语言。

这里我们主要介绍第3种,即C语言中嵌入汇编语言。

下面的一段程序是主程序调用精确的205μS延时子程序并使P1.0交替输出高、低电平的方波。

【视频】Embedded World 2018展后特辑: 动态多协议与网状网络演示

本视频为Embedded World 2018展会现场关于“”动态多协议与网状网络演示"的现场视频。

Cortex-M3的六个知识点

1.不再像别的ARM7那样从thumb状态和ARM状态来回切换

Thumb-2指令集横空出世,Cortex-M3不支持ARM指令集

2.BKP备份寄存器(42个16位寄存器组成),用来存储用户应用程序数据。。在Vdd掉电时由Vbat供电。。在待机复位、系统复位、电源复位后,这些寄存器不会被复位

ARM汇编指令(7)——数据交换指令

1、SWP指令

SWP指令的格式为:

SWP{条件} 目的寄存器,源寄存器1,[源寄存器2]

SWP指令用于将源寄存器2所指向的存储器中的字数据传送到目的寄存器中,同时将源寄存器1中的字数据传送到源寄存器2所指向的存储器中。显然,当源寄存 器1和目的寄存器为同一个寄存器时,指令交换该寄存器和存储器的内容。

指令示例:

SWP R0,R1,[R2] ;将R2所指向的存储器中的字数据传送到R0,同时将R1 中的字数据传送到R2所指向的存储单元。
SWP R0,R0,[R1] ;该指令完成将R1所指向的存储器中的字数 据与R0中的数据交换。

2、SWPB指令

SWPB指令的格式为:

SWP{条件}B 目的寄存器,源寄存器1,[源寄存器2]

SWPB指令用于将源寄存器2所指向的存储器中的字节数据传送到目的寄存器中,目的寄存器的高24清零,同时将源寄存 器1中的字节数据传送到源寄存器2所指向的存储器中。显然,当源寄存器1和目的寄存器为同一个寄存器时,指令交换该寄存器和存储器的内容。

指令示例:

基于STC单片机的ISP下载线设计

本文首先介绍了在线编程技术,然后给出了基于两种下载线设计电路,最后阐述了的性能特点。实践表明:本设计具有低成本、高灵活性,对单片机爱好者,尤其是初学者,具有很强的实用价值。

一、ISP技术

Littelfuse推出业内封装尺寸最小的单向瞬态抑制二极管阵列, 可保护I/O和电源端口免于ESD损坏

市面上首款01005型瞬态抑制二极管阵列,采用全密封型DNF塑料封装

【下载】dsPIC33/PIC24 FRM - 12位高速多SAR A/D转换器(ADC)

dsPIC33/PIC24 12位高速多SAR模数转换器(Analog-to-Digital Converter,ADC)包含以下特性:
• 多个ADC内核:
    - 多个单通道专用ADC内核(取决于具体器件实现)
    - 一个共用ADC内核
• 每个ADC内核可配置为6、8、10或12位分辨率

STM32 CAN应用-过滤器设置

在使用STM32的CAN控制器进行数据收发,当用到位屏蔽模式的时候,就要设置过滤器了,这个关系到是否能够接收到想要的数据。

下面针对几种不同情况对CAN过滤器(Filter)进行设置。

CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask; //标示符屏蔽模式
CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;

1、对扩展数据帧进行过滤:(只接收扩展数据帧)