就是告诉编译器将一个你自己指定的变量“name”链接到名字为“addr”的数据段中去,而这个变量是保存在特殊功能寄存器SFR中,并且保存在非初始化数据区(一个目标文件的数据区分为以初始化的和未初始化的),同时该变量是volatile属性的,即程序每次要用到它的时候都会重新从变量所在的物理地址中读取其...
sfr:特殊寄存器是再库中已经有的 define:是自己定义的
51单片机的寄存器存在于内部空间0x80-0xFF,这空间属于直接寻址,不是访问外部总线。所以只能用 sfr P0=0x80来定义。STM32单片机就不一样,所有的外设寄存器都处于统一寻址的外部空间中,所以只能用这种方法定义其地址,访问时也类似MOVX指令的执行。
#define sbi(sfr,bit) (_SFR_BYTE(sfr) |=_BV(bit))等宏??其实和下的宏一样吧??#define ...
一个有类型,一个只是宏定义。