1、volatile 就是个关键字,代表该关键字具体数值会预想不到的被改变,避免编译器优化掉。更具体的理解可以在论坛上搜索。(解释很多字,这里不好打出来)
2、typedef也是一个关键字,其实就是给另外的变量换一个名字而已。
例如:typedef unsigned char uint8_t;
后面你要定义一个unsigned char 型变量:
unsigned char a;等同于uint8_t a;有没有觉得后面的定义比前面更易读?
其实标准的命名是这样:uint8_t u8_a;这样后面你用这个变量,时刻都清除这个变量是无符号占8个字节,这样就会大大避免数据溢出这个错误。
typedef看英文大概意思是 类型定义,就是给已有的类型或名字取另外一个新的名字
你以后在其他地方用到unsigned int就可以用uint32_t来代替
uint16_t代替unsigned short int
vu32大题__IO uint32_t
比如uint16_t i,j; ==>等同于unsigned short int i,j;
__IO 就是volatile
#define __IO volatile
建议你百度一下define和typedef
或者去看书,一般书上都会讲得比较详细。