88问答网
所有问题
51单片机,在keil中调试,调用printf函数,有关于输出的数据格式的问题进行请教!
使用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进制显示。我想应该是数据格式不对,。。。改改你的串口助手即可,是显示方式不对。 赞同
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://88.wendadaohang.com/zd/VBVStKtcM.html
其他回答
第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);这样试下看看 赞同
相似回答
单片机
C8051
在Keil
C51
环境下使用
printf函数
打印,发现打印值和实际不...
答:
也就是说,使用
C51的printf
()函数打印%d/i/u/o/x/X格式时,你必须要指定该变量的存储格式l/L/b/B。由于你的变量c为char类型,因此可将相应的代码改为如下:printf("%bd\n",c);printf("%bu\n",c);printf("%bx\n",c);即可得到正确的结果。另:若变量c为uint16时,则需将%bd等改为...
keil
c51
printf
问题
答:
在程序中,你需要配置串口的,虽然是仿真,也要初始化串口,keil仿真只不过相当于给了你硬件而已。
在keil中printf
默认是向串口中发送
数据的,
所以,如果应用该
函数,
必须先初始化串口,否则可能引起死机的情况,并且在printf之前应该先将TI置位,参考资料:http://blog.csdn.net/lizhoubob/archive/2010/07/...
KEIL
4
中关于
C51
startup.a51 的警告
答:
printf
这个
函数
既被普通函数
调用
、又被中断函数调用。这样做是非常危险的。一般来说,应将被中断函数调用的子函数建立一个副本,专门供中断函数调用。例如你的printf()函数,应当再新建一个名为printf_int()的函数,二者内容完全相同,后者专门供中断函数使用。
51单片机
串口用
printf输出
,当
输出的数据
类型是unsigned char的时候...
答:
楼主你好。
51单片机
与标准C有区别:
KEIL里
扩展出了b,h,l来对输入字节宽的设置:(1)b八位 (2)h十六位 (3)l三十二位
在Keil
C51中用
printf输出
一个单字节变量时要使用%bd,如 unsigned char counter;printf("Current count: %bd\n", counter);而在标准C语言中都是使用%d:printf("Current ...
关于Keil中的printf
()
函数的问题
答:
1.printf函数是调用putchar函数输入的,而putchar应该是先判断ti是否为1,不为1则等待为1。如果为1则清0,然后送出一 个字符。因此你如果直接使用
printf函数,
你的程序就会在putchar函数中等待ti为1。这时你的程序就相当于直接死掉了。你可以通过改写 putchar函数实现自己的目的的。2.
Keil的
串口处理...
keil
c51
仿真时,怎样使用
printf函数输出
一个两位16进制数?
答:
我在很久以前用
printf输出
过自制并行口
数据,
我相信此方法可行:printf(0x**,0x16),其中**表示地址,我已经有十年没编程了,据现在的情况发展不是很快,此法应该可以。注意在用的过程中要和缓冲器的关系处理好!试试吧,祝你成功。
c51中
printf
怎用
答:
对于一类,你必须得软件初始化串口,硬件与电脑连接好,然后利用windows的超级终端就可以显示
单片机中
程序
里的printf
等函数打印出的内容了,你也可以使用getchar获得超级终端的按键码。(当然也可以使用串口助手之类软件代替超级终端,注意波特率
,数据
位,校验位,等设置要保持一致)对于第二类,是不用初始化...
keil
工程中使用
printf,在
哪
输出
答:
首先,这种基本的串行输入
输出函数
是通用的函数接口,应该是有一个通用库
函数,
工程中包含进去就好了;其次,printf一般都是通过串口来打印和接收数据的,所以做好
单片机
或这个ARM中UART接口的初始化。。最后,最好上面这些,当
调用printf函数
是,会通过板子上的串口(通常是UART0)打印
输出数据的,
利用串口...
大家正在搜
单片机printf函数
单片机printf输出到串口
如何在keil添加没有的单片机
51单片机串口通信printf
51单片机printf串口
51单片机scanf常见问题
51单片机重定向printf
单片机printf
单片机keil软件使用
相关问题
51单片机,在keil中调试,调用printf函数,有关于输...
51单片机Keil C51下使用printf输出到串口,为何...
关于Keil中的printf()函数的问题
keil中printf语句输出的结果在哪
51单片机里 我用keil的rt51thy stdio.H自...
keil c中用printf函数输出的数值被存放在哪个寄存器...
keil中printf语句输出的结果在哪里看啊 高手们 ...
c51中的printf函数的原型,编译器用的是keil,感谢...