[技术问答] keil printf N76E003

[复制链接]
236|11
 楼主 | 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
| 2019-1-8 22:41 | 显示全部楼层
枚举型 是16位的

评论

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

评论

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

评论

kaizi99998 2019-3-26 16:27 回复TA
几种格式都试过,都不行。然后换ST的和松翰的就没有问题。 
| 2019-1-8 22:42 | 显示全部楼层
或许你枚举型,你理解错了。
| 2019-1-9 08:55 | 显示全部楼层
請把你的代碼貼上,資料型態看下定義
| 2019-3-26 17:19 | 显示全部楼层
bu试试
| 2019-3-26 20:02 | 显示全部楼层
这有啥特点。
| 2019-3-26 21:07 | 显示全部楼层
kei c51 printf中8bit数据要加“b”修饰,例如%02bX, %bU
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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