找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6160|回复: 5
收起左侧

求助:stc15单片机printf疑问

[复制链接]
ID:87448 发表于 2015-8-14 15:53 | 显示全部楼层 |阅读模式
   STC15的例程调试不通,用printf时 必须要先把TI=0 ,这下好了 ,但是我想用16进制的数组输出到串口,STDIO.H添加了 ,但是始终不对,比如我想输出0X2568 ,用串口助手出来一排 32,,35,36,38 始终16进制数前面有个3 并且没连着,请问我格式错在哪? printf("%2x",0x2568) 谢谢大家!
printf-fun-1.JPG printf-fun.JPG

回复

使用道具 举报

ID:84652 发表于 2015-8-15 09:38 | 显示全部楼层
都是ASCII码。HEX模式就把ASCII码打印出来了,切换到文本模式就是2568。2的ASCII码是0x32,5的ASCII码是0x35,6的ASCII码是0x36,8的ASCII码是0x38。
回复

使用道具 举报

ID:60379 发表于 2015-8-15 11:14 | 显示全部楼层
       chara=-100;
    int b=-2000;
    long c=6553600;
    printf ("char_0x%bx  int_0x%x long_0x%lx\n",a,b,c);   // 16进制输出   
    // 实际输出:char_0x9c  int_0xf830 long_0x640000   
     // 输出无符号16进制整数,x表示按小写输出,X表示按大写输出

回复

使用道具 举报

ID:87448 发表于 2015-8-15 13:15 | 显示全部楼层
王朗的诱惑 发表于 2015-8-15 09:38
都是ASCII码。HEX模式就把ASCII码打印出来了,切换到文本模式就是2568。2的ASCII码是0x32,5的ASCII码是0x3 ...

非常感谢

回复

使用道具 举报

ID:87448 发表于 2015-8-15 13:15 | 显示全部楼层
无量寿经 发表于 2015-8-15 11:14
chara=-100;    int b=-2000;    long c=6553600;    printf ("char_0x%bx  int_0x%x long_0x%lx\n" ...

非常感谢!
回复

使用道具 举报

ID:66287 发表于 2015-9-22 17:09 | 显示全部楼层
使用 printf 语句,TI=1是必须的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表