5499|11

8

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

关于uint转uchar型的问题 [复制链接]

 
诸位大佬,有没有人遇到过这种问题啊,在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;
}



最新回复

我用CCS调试C2000,不支持8位的数据。我忘了是CCS不支持还是C2000不支持了,好像是C2000,你调试的啥芯片  详情 回复 发表于 2018-5-10 10:51
 
点赞 关注

回复
举报

4008

帖子

0

TA的资源

版主

沙发
 
要是送到上位机的话让上位机去转换,你只要高低八位发送就行了.
 
 

回复

750

帖子

3

TA的资源

版主

板凳
 
上策:
去看书把,重看一遍大学C教材,再买本《C和指针》。

下策:
继续等答案,或者看看这个《ASSIC 表》
ASSIC 表.pdf (42.38 KB, 下载次数: 1)
 
个人签名

要666

 
 

回复

4008

帖子

0

TA的资源

版主

4
 
你这个标题不明确怎么转,数就是数本就没什么可转的.
uint转十进制asc码或者十六进制asc码或XXX码才行.
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

5
 
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]显示为一个点.
而不是字符,更改显示模式后可以显示,如上图所示

点评

是啊,调试窗口可以修改数据类型 还是没明白你要做啥  详情 回复 发表于 2018-4-24 22:35
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

6
 
le062 发表于 2018-4-24 08:26
上策:
去看书把,重看一遍大学C教材,再买本《C和指针》。

下策:
继续等答案,或者看看这个《ASSIC  ...

嗯,谢谢你的建议。
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

7
 
昨天晚上查C语言的用法,找到了这个博客http://blog.sina.com.cn/s/blog_4ba5b45e0102durh.html
解决了我的问题

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

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

回复

8

帖子

0

TA的资源

一粒金砂(中级)

8
 
http://blog.sina.com.cn/s/blog_4ba5b45e0102durh.html
昨晚在这个博客里面找到了答案。
谢谢各位的解答
 
 
 

回复

4008

帖子

0

TA的资源

版主

9
 
EFJIM 发表于 2018-4-24 18:01
定义是这样的
uint A[4]
uchar B[4]
数组A通过代码运算取得值
然后直接赋值给B[0]=A[0],
但是在CCS ...

是啊,调试窗口可以修改数据类型

还是没明白你要做啥

点评

第一张图用默认显示模式只能显示一个 . (点)  详情 回复 发表于 2018-4-25 11:23
我附的两张图里面第一张B字符无法显示啊,只有更改了显示模式才能显示,这样通过串口发送出去的就不再是字符串了  详情 回复 发表于 2018-4-25 11:21
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

10
 
本帖最后由 EFJIM 于 2018-4-25 11:23 编辑
huo_hu 发表于 2018-4-24 22:35
是啊,调试窗口可以修改数据类型

还是没明白你要做啥

不好意思,之前说错了,这里是看的 F ,不是 B
我附的两张图里面第一张 F 字符无法显示啊,只有更改了显示模式才能显示,这样通过串口发送出去的就不再是字符串了
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

11
 
huo_hu 发表于 2018-4-24 22:35
是啊,调试窗口可以修改数据类型

还是没明白你要做啥

第一张图用默认显示模式只能显示一个  .  (点)


 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

12
 
我用CCS调试C2000,不支持8位的数据。我忘了是CCS不支持还是C2000不支持了,好像是C2000,你调试的啥芯片
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表