例如:
*(volatile uint8_t code *)(addr)
正解: code的作用就是告诉单片机,定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。
下面还有一些其他关键词的意思:
code :程序存储区(64KB),
data :可直接寻址的内部数据存储区(128B)
idata:不可直接寻址的内部数据存储区(256B)
bdata:可位寻址内部数据存储区(16B)
xdata:外部数据存储区(64KB)
pdata:分页的外部数据存储区
bit :位标量声明 声明一个位标量或位类型的函数
sbit : 位标量声明 声明一个可位寻址变量
sfr : 特殊功能寄存器声明 声明一个特殊功能寄存器
sfr16: 特殊功能寄存器声明 声明一个16位的特殊功能寄存器