单片机 unsigned char code x[] = { 0xc0,0xf9}; 这里的CODE 可以省略吗?它的作用是什么

unsigned char code x[] = { 0xc0,0xf9,0xa4,0xb0}; unsigned char a[] = { 0};
2024-11-25 03:13:20
推荐回答(4个)
回答1:

code 存储区,code是指该变量存放在ROM(程序存储区),在执行过程中不会被改变,
执行速度快,效率高。
code去掉也可以,不过是把变量存放在别的区域。这要根据编译器的设定存储模式来定。
如果变量体积大了,就要定义在code区。毕竟51系列的ram不够,尤其是程序比较大的时候就不能放到Code存储器。

回答2:

code 可以省略

如果加上,x数据就会在代码段里面,以后都不能修改了,这样可以将一些固定的数据,或者字符串放到代码段,可以节省 变量存储空间!

回答3:

可以省略,加code则该定义的为不可更改的只读数据,在汇编里用movc来读取,不加code则是可以更改的,用movx来读取。

回答4:

做任务,谢谢