[技术问答] keil printf N76E003

[复制链接]
1985|20
 楼主| kaizi99998 发表于 2019-1-8 21:11 | 显示全部楼层 |阅读模式
在使用KEIL调试新唐N76E003时,用到了printf函数打印输出数据。
我定义的16bit数据打印出来的没问题,定义的8bit变量打印出来还是以16bit处理的。
比如我定义一个结构体中定义了一个枚举型 A, 一个枚举型B,一个u8型 C。
A=3;B=3;C=0;
打印命令:
printf("-> A=%u , B=%u , C=%u\r\n", A ,
得到的输出信息:
-> A=771 , B=0 , C=0
我需要输出的信息是:
-> A=3 , B=3 , C=0
说明下: 771 = 0x0303
wm20031015 发表于 2019-1-8 22:41 | 显示全部楼层
枚举型 是16位的

评论

你确定是16位的?我用其他单片机调试出来的信息是对的,按照8位算的  发表于 2019-3-26 16:26
xuanhuanzi 发表于 2019-1-8 22:42 | 显示全部楼层
你贴出来你这部分代码。

评论

指示调试的代码,已经删除了。跟单片机有关系。我觉得是他的开发兼容包有问题或我的工程设置有问题,代码是没问题的,已经复制到其他开发环境中测试没问题的。  发表于 2019-3-26 16:30
xuanhuanzi 发表于 2019-1-8 22:42 | 显示全部楼层
一般使用格式化输出的话,想要结果一样,格式类型不能错。

评论

几种格式都试过,都不行。然后换ST的和松翰的就没有问题。  发表于 2019-3-26 16:27
xuanhuanzi 发表于 2019-1-8 22:42 | 显示全部楼层
或许你枚举型,你理解错了。
jasontu 发表于 2019-1-9 08:55 | 显示全部楼层
請把你的代碼貼上,資料型態看下定義
ayb_ice 发表于 2019-3-26 17:19 | 显示全部楼层
bu试试
mintspring 发表于 2019-3-26 20:02 | 显示全部楼层
这有啥特点。
jekey 发表于 2019-3-26 21:07 | 显示全部楼层
kei c51 printf中8bit数据要加“b”修饰,例如%02bX, %bU

评论

感谢老铁,按照你的方法测试时可以的。  发表于 2019-3-30 12:15
xuanhuanzi 发表于 2019-3-30 23:25 | 显示全部楼层
还有这么深的学问。
dongnanxibei 发表于 2019-4-9 22:57 | 显示全部楼层
我在找一个贴,说是串口的库函数有个小问题。
wanduzi 发表于 2019-4-10 23:32 | 显示全部楼层
多谢分享。
wanduzi 发表于 2019-4-10 23:36 | 显示全部楼层
数据类型可以测试确认。
天灵灵地灵灵 发表于 2019-4-13 22:38 | 显示全部楼层
调试时候常用的串口打印。
天灵灵地灵灵 发表于 2019-4-13 22:38 | 显示全部楼层
做好产品一般就不用了。
yiyigirl2014 发表于 2019-4-14 00:19 | 显示全部楼层
这个太重要了
yiy 发表于 2019-4-14 22:43 | 显示全部楼层
全部代码发来比较好。枚举类型好像是按顺序复制12345的吧,不知道有没有0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

52

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部