C语言中的Code,data的作用,Bit,sbit 的区别

1,SEGMENT_VARIABLE(USB_bcdDevice, U16, Code) = 0x0100;

code /Code segment
的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVC
因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用.
data/data segment :表示data是存入RAM寄存器的意思.存在数据区域

2,bit,sbit是KEIL c51里面扩展的数据类型,BIT表示一位二进制类型的数据,只有0,1两种取值

SBIT表示一位字符,

sbit是位定义,这个定义只有51内核的单片机才有,一般用于51端口的位操作,一个P口有8位,sbit就可以定义一个通俗的名字来描述一端口8位中的其中一位如sbit LED=P0^1; sbit key=P0^2;等等,这样当你使用LED或者KEY时就相当于对P0.1和P0.2操作了
3,code const:
注意,此时CONST的数据既存储到了ROM又占用了RAM,在上电初始化时启动文件会将ROM中的数据拷贝到RAM中。
而在MDK里面,则没有CODE的说法,CONST的数据是放入代码区域。

C语言中的Code,data的作用,Bit,sbit 的区别,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。