诸位大佬,有没有人遇到过这种问题啊,在CCS中想把uint转换成uchar型,但是转换过后,uchar型的变量用default格式无法显示,只有用其他格式才能显示。如果把变量通过串口助手发给电脑,也收不到字符,只能收到HEX,而且HEX好像还错了。卡在这个地方很久了,希望高手能指导指导萌新,感激不尽!
void Data_do(uint temp_d)
{
uint temp_1,temp_2;
A[0]=temp_d/1000; //分出千,百,十,和个位
temp_1=temp_d%1000;
A[1]=temp_1/100;
F=A[1];
// B[1]=(uchar)A[1];
temp_2=temp_1%100;
A[2]=temp_2/10;
A[3]=temp_2%10;
}
此帖出自
小平头技术问答
uint转十进制asc码或者十六进制asc码或XXX码才行.
定义是这样的
uint A[4]
uchar B[4]
数组A通过代码运算取得值
然后直接赋值给B[0]=A[0],
但是在CCS中,B[0]显示为一个点.
而不是字符,更改显示模式后可以显示,如上图所示
解决了我的问题
数字换成字符串,用sprintf.以整型为例。
char str[10];
int a=1234;
sprintf(str,"%d",a);
一周热门 更多>