原来在Keil 3环境下选择AT89S8253作为器件,编写了一段程序。在Keil 环境下用纯软件仿真,判断逻辑都没有错。串口能够按照要求输出自己定义好的观测字符。 但是下载到AT89S8253以后,发现以下问题: 1.串口输出的第一个字符是正确的以后,后面接着所有字符都错误。 2. 必须在Small模式下编译,在Compact模式和Large模式下编译的程序都不允许,串口无任何字符输出。 --------------------- 我采取了以下措施,问题依旧: 1. 将串口波特率降低到9600。 2. 换掉目标板上的AT89S8253,重新焊接新的。 3. 将我程序中的“消息队列“相关函数去除,串口输出即可正确。
我的疑问: 1. 消息队列相关函数,我已经用Keil C里面纯软件仿真一步一步的调试过。逻辑没有问题!是否编译器参数设置问题? 2. 是否是软件代码问题?
我的编写的代码如下附件,请大家帮我找找原因!
|