当**一个unsigned int x 数据,比如这个x的十进制数值大于255的时候,单片机存储的数据以字节存储是以二进制数据来存储,一个字节0xff最大的十进制数值255,如果一个十进制的数据大于255,这个时候一个字节无法满足。如果这个x<=65535,可以分为2个字节来**存储,2个字节的最大值为 65535,具体的处理方式为
unsigend int x;
unsigned char data1,data2;
x=10000;//小于65535
data1=x; //data1保存了x的16进制的低八位。
data2=x>>8; //保存了x的16进制的高八位。至此 data1和data2可以保存入ROM中。
//在ROM中读出data1,data2两个字节。
x=data2<<8|data1;
注:如果x的值大于65535,则考虑三个字节,以此类推。
|