微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > keil C51 printf 函数问题!

keil C51 printf 函数问题!

时间:10-02 整理:3721RD 点击:

在单片机c程序中,利用printf添加打印信息是非常爽的事情。例如stc的51单片机利用串口1打印,你只需要如下设置:

只需要在任何一个c文件中添加
char putchar (char c)   {        
ES=0;        
SBUF = c;        
while(TI==0);        
TI=0;        
ES=1;        
return 0;
}即可:
然而,不幸的是
unsigned char mm = 0xAA;printf("----:0x%02X\n",mm);后得出的结却是:----:0xAA05;或者是----:0xAA06;总之是你意向不到的结果
-----------------------------
究竟为什么会这样?打开keil的help


其中第一的是 unsigned int 所以 我们打印的时候回多出一个字节所以以后就这样定义
unsigned int mm = 0xAA;
printf("----:0x%02X\n",mm & 0x00FF);
打印出的结果就是后得出的结却是:----:0x00AA;

自己先顶一个,噢耶

自己顶一个自己顶一个自己顶一个自己顶一个

谢谢小编分享好资料,先收藏了,方便学习交流,我正在收集这方面资料。

牛逼!,搞了我半天

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top