51单片机,在keil中调试,调用printf函数,有关于输出的数据格式的问题进行请教!
使用printf("%d\r\n",a)之前,先要设置串口的方式、波特率等。追问我已经设置好了,只是输出的没人不对,我觉得是%d这里有问题,只是不知道怎么改,请阁下帮忙呀...
使用printf("%d\r\n",a)之前,先要设置串口的方式、波特率等。 追问 我已经设置好了,只是输出的没人不对,我觉得是%d这里有问题,只是不知道怎么改,请阁下帮忙呀!
展开
4个回答
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);这样试下看看 赞同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询