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;
自己先顶一个,噢耶
自己顶一个自己顶一个自己顶一个自己顶一个
谢谢小编分享好资料,先收藏了,方便学习交流,我正在收集这方面资料。
牛逼!,搞了我半天