OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 1288|回复: 9

用unsigned char定义了一个变量为什么用printf以%d输出后数字不对啊?

[复制链接]

  离线 

81

主题

192

帖子

0

精华

高级会员

Rank: 4

积分
577
金钱
577
注册时间
2015-10-16
在线时间
68 小时
发表于 2017-11-10 12:03:25 | 显示全部楼层 |阅读模式
回复

使用道具 举报

  离线 

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-11-9
在线时间
20 小时
发表于 2017-11-10 12:54:31 | 显示全部楼层
如果是串口输出,应该是波特率没配置对。
回复

使用道具 举报

  离线 

81

主题

192

帖子

0

精华

高级会员

Rank: 4

积分
577
金钱
577
注册时间
2015-10-16
在线时间
68 小时
 楼主| 发表于 2017-11-10 13:27:47 | 显示全部楼层
gagaga 发表于 2017-11-10 12:54
如果是串口输出,应该是波特率没配置对。

波特率是对的,而且我如果将unsigned char 换成unsigned int输出结果是正确的
回复

使用道具 举报

  离线 

1

主题

395

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1101
金钱
1101
注册时间
2011-12-1
在线时间
81 小时
发表于 2017-11-10 13:44:39 | 显示全部楼层
最好不要加中文与字符一起写,容易出问题!最好全部是字符!
回复

使用道具 举报

  离线 

8

主题

814

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2186
金钱
2186
注册时间
2011-5-23
在线时间
1033 小时
发表于 2017-11-10 14:36:00 | 显示全部楼层
[C] 纯文本查看 复制代码
printf("temp : %d\r\n", (int)temp);


%d的类型是int,不转的话,在非32位机上面容易出问题。
因为可变参数是通过栈传递的,类型不匹配,取值就会出错。
回复

使用道具 举报

  离线 

2

主题

743

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2198
金钱
2198
注册时间
2017-10-24
在线时间
123 小时
发表于 2017-11-10 18:07:52 | 显示全部楼层
一般无符号数以%u输出。

楼主可以修改试试看。
十六进制带我飞。
回复

使用道具 举报

  离线 

2

主题

207

帖子

0

精华

高级会员

Rank: 4

积分
677
金钱
677
注册时间
2013-6-5
在线时间
104 小时
发表于 2017-11-11 00:40:03 | 显示全部楼层
我来告诉你,你数据类型没对,d是有符号整数,u是无符号整数,如果是51可以用bu来输出,其他要强制类型转换为一致的。
回复

使用道具 举报

  离线 

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2017-6-21
在线时间
40 小时
发表于 2017-11-12 07:40:43 来自手机 | 显示全部楼层
51打印uchar用bu打印char用bd打印uint用bu,int用bd
回复

使用道具 举报

  离线 

33

主题

187

帖子

0

精华

高级会员

Rank: 4

积分
735
金钱
735
注册时间
2016-6-10
在线时间
173 小时
发表于 2017-11-14 21:30:55 | 显示全部楼层
c%输出啊
回复

使用道具 举报

  离线 

14

主题

423

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2603
金钱
2603
注册时间
2013-6-27
在线时间
341 小时
发表于 2017-11-15 21:25:23 | 显示全部楼层
51的printf8位要使用 %bd就可以了,keil帮助里面有说明。

unsigned char temp;

printf("temp : %bd\r\n", temp);
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

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

本版积分规则




关闭

报名原子哥新品发布会&粉丝见面会上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-10-20 04:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */