像
uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
和
uchar ds1302[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
都能运行,两者有什么区别
C在定义数组时是占用内存空间的,而code是编码的意思,在定义编码时是直接分配到程序空间的,编译后编码占用的事程序存储空间而非内存空间。 在有些时候,定义的数组中包含的元素比较多的时候,数组的所占的存储空间就会大一些,而不希望其影响内存,而把它安排到编码空间,一定程度上可以节省内存。 keil中的code表示定义的变量存储在程序存储器中,这种变量是只读的,不可写,作用主要是节约RAM的使用,嵌入式系统的资源是有限的。
原文地址:https://www.cnblogs.com/321waiting/p/9334119.html
时间: 2024-10-13 01:53:11