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

使用printf("%d\r\n",a)之前,先要设置串口的方式、波特率等。 追问 我已经设置好了,只是输出的没人不对,我觉得是%d这里有问题,只是不知道怎么改,请阁下帮忙呀!

unsigned char a=255;unsigned char b=0x61;printf("%d\r\n",a);//这样输出的a是并不正确,我希望a直接在串口助手上显示255那么,楼主看到的是什么? 你用十进制显示方式了吗?然后调用printf输出b,就是直接显示61。显示正确。你用是16进制显示。我想应该是数据格式不对,。。。改改你的串口助手即可,是显示方式不对。 赞同
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-22
%d 针对 int 类型%c 针对 char类型应该是这个问题你要输出255 必须a转成int类型 同时printf %d针对char的255 是ASCII码 赞同本回答被网友采纳
第2个回答  2013-09-22
试着用0x255看看···因为你直接写255 系统识别为10进制数,转化成255的对应十六进制数应该是FF 赞同
第3个回答  2013-09-22
printf("%d\r\n",(unsigned int)a);这样试下看看 赞同
相似回答