在单片机开发中,将int型转换为两个char型.这里写自定义目录标题
转载
链接: https://bbs.elecfans.com/jishu_283794_1_1.html#comment_top.
方法一: 老方法,无技术,不懂单片结构的纯C写法
int itemp;
char ctemp[2];
ctemp[0]=itemp & 0x00FF;
ctemp[1]=itemp >> 8;
方法二:结构体法
typedef union {
unsigned int temp;
unsigned char i[2];
} int2char;
void main(void)
{
int2char uchar;
unsigned char i,j;
uchar.temp=0x1234;
i=uchar.i[0];
j=uchar.i[1];
while(1);
}
方法三:直接地址法(推荐使用)
((char *)&itemp)[0];
((char *)&itemp)[1];
例子:
void main(void)
{
unsigned int temp;
unsigned char i,j;
temp=0x1234;
i=((unsigned char *)&temp)[0];
j=((unsigned char *)&temp)[1];
while(1);
}
执行后:
i=0x12;
j=0x34;