关于uint转uchar型的问题

2019-03-23 22:25发布

诸位大佬,有没有人遇到过这种问题啊,在CCS中想把uint转换成uchar型,但是转换过后,uchar型的变量用default格式无法显示,只有用其他格式才能显示。如果把变量通过串口助手发给电脑,也收不到字符,只能收到HEX,而且HEX好像还错了。卡在这个地方很久了,希望高手能指导指导萌新,感激不尽! QQ图片20180423230839.png QQ图片20180423230857.png
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;
}



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
Li_Lei
1楼-- · 2019-03-24 06:35
要是送到上位机的话让上位机去转换,你只要高低八位发送就行了.
le062
2楼-- · 2019-03-24 11:32
 精彩回答 2  元偷偷看……
Li_Lei
3楼-- · 2019-03-24 17:28
你这个标题不明确怎么转,数就是数本就没什么可转的.
uint转十进制asc码或者十六进制asc码或XXX码才行.
EFJIM
4楼-- · 2019-03-24 19:11
huo_hu 发表于 2018-4-24 08:32
你这个标题不明确怎么转,数就是数本就没什么可转的.
uint转十进制asc码或者十六进制asc码或XXX码才行.

定义是这样的
uint A[4]
uchar B[4]
数组A通过代码运算取得值
然后直接赋值给B[0]=A[0],
但是在CCS中,B[0]显示为一个点.
而不是字符,更改显示模式后可以显示,如上图所示
EFJIM
5楼-- · 2019-03-24 21:20
 精彩回答 2  元偷偷看……
EFJIM
6楼-- · 2019-03-24 21:52
昨天晚上查C语言的用法,找到了这个博客http://blog.sina.com.cn/s/blog_4ba5b45e0102durh.html
解决了我的问题

数字换成字符串,用sprintf.以整型为例。

char str[10];
int a=1234;
sprintf(str,"%d",a);

一周热门 更多>

相关问题

    相关文章