51单片机,在keil中调试,调用printf函数,有关于输出的数据格式的问题进行请教!

使用printf("%d\r\n",a)之前,先要设置串口的方式、波特率等。追问我已经设置好了,只是输出的没人不对,我觉得是%d这里有问题,只是不知道怎么改,请阁下帮忙呀... 使用printf("%d\r\n",a)之前,先要设置串口的方式、波特率等。 追问 我已经设置好了,只是输出的没人不对,我觉得是%d这里有问题,只是不知道怎么改,请阁下帮忙呀! 展开
 我来答
匿名用户
2013-09-22
展开全部
unsigned char a=255;unsigned char b=0x61;printf("%d\r\n",a);//这样输出的a是并不正确,我希望a直接在串口助手上显示255那么,楼主看到的是什么? 你用十进制显示方式了吗?然后调用printf输出b,就是直接显示61。显示正确。你用是16进制显示。我想应该是数据格式不对,。。。改改你的串口助手即可,是显示方式不对。 赞同
匿名用户
2013-09-22
展开全部
%d 针对 int 类型%c 针对 char类型应该是这个问题你要输出255 必须a转成int类型 同时printf %d针对char的255 是ASCII码 赞同
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-22
展开全部
试着用0x255看看···因为你直接写255 系统识别为10进制数,转化成255的对应十六进制数应该是FF 赞同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-22
展开全部
printf("%d\r\n",(unsigned int)a);这样试下看看 赞同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式