04 2022 档案
摘要:首先要明白这几个知识点:关键字volatile的使用,原子操作,临界区的使用。明白的直接跳到文中的4.全局变量的使用及保护处查看。 1.关键字volatile 关键字volatile用于告诉编译器,说明被修身的变量可能会被意想不到地改变,防止编译器对代码进行优化。 比如如下程序: 1 ucNms=0
阅读全文
摘要:1. 前言 在单片机通信项目中,经常会用到接收数据,然后处理.大家有没有想过什么方式才是最优的方式? 大家是否想过有没有什么标准的方案可以解决一切可能? 注:此节并不是标准的方案,这节只是作为抛砖引玉! 2.想想下面的例子 假设单片机接收的数据为 0x55 0xAA 0x03 0x05 0x03 0
阅读全文
摘要:下图为AVR单片机通用I/O口的基本结构示意图。从图中可以看出,每组I/O口配备三个8位寄存器,它们分别是方向控制寄存器DDRx,数据寄存器PORTx,和输入引脚寄存器PINx(x=A\B\C\D)。I/O口的工作方式和表现特征由这3个I/O口寄存器控制。 方向控制寄存器DDRx用于控制I/O口的输
阅读全文