打印
[技术问答]

MS51开发指南

[复制链接]
883|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
timfordlare|  楼主 | 2025-1-11 05:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.keil4 编译错误。变量编译为无效代码,不能执行;或者编译了但是不能赋值,不能运算。

解决办法:这种是Keil工程坏了,解决办法是用官方的工程重新改,把自己的.C.H文件扣过去重新编译。问题解决。
不要想着是编译器优化了,这里就是出问题了。而且如果把官方的优化等级8改了,网上说打印就会有问题。

2.好好的工程,加一行打印,多定义一个结构体,就编译错误。各种乱七八糟的错误,屏蔽这一行就没错。

解决办法:Menmory Model->Small 改为 Large

3.官方给的N76E003_BSP_Keil_C51_V1.0.6头文件写得相当不科学

#ifndef
#define
#endif
这种标配都没有,导致的问题是,如果在.H文件相互包含就报错,不包含在.H文件里申明自己的数据类型就报错。
要想好好写代码,自己得把官方的几个头文件都改一下。

4.Keil4 的字符BUG。

我就习惯用中文提示符,可是中间就出现乱码,我还想的是波特率不对,或者是主频不对产生的误码。结果通过STM8和N76E003打印相同的语句,用16进制数看,就是有一个0xFD,没有打印。再网上查找果然就发现这是个BUG。
keil4,支持中文的时候会自动忽略 内码‘0xFD’;
当字符显示不正确的时候,需要程序里手动添加转义字符 ‘\xFD’
举例:SendString(“数\xFD”);


使用特权

评论回复
沙发
小灵通2018| | 2025-1-13 18:58 | 只看该作者
现在都是用KEIL5了。

使用特权

评论回复
板凳
Stahan| | 2025-1-19 23:40 | 只看该作者
为啥会忽略掉这个啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

1419

帖子

1

粉丝