这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » [已解决]STC89C52RC串口调试:仿真和实际数据完全不一样

共8条 1/1 1 跳转至

[已解决]STC89C52RC串口调试:仿真和实际数据完全不一样

菜鸟
2011-03-27 21:15:36     打赏

各位大虾帮忙分析一下,我正在做一个串口控制wifi的程序,使用计算机上的两个串口做仿真,仿真结果正确;但是下到单片机中在计算机上查看单片机的输出,可以收到数据,但和仿真结果不一样。
我已经将keil中单片机的晶振设为实际的11.0592MHz,而且跑其他的串口程序数据没有异常,请问大家我的什么地方可能出了问题,如何排错,谢谢。

出现这样的情况是,我使用的xdata空间大小为392,而对于STC89C52RC,其xdata空间大小事256,溢出了。缩减xdata空间的大小小于256,或者使用1280大小的SRAM芯片。




关键词: 解决     STC89C52RC     串口     调试     仿真     实际    

专家
2011-03-27 22:23:32     打赏
2楼
没有数据还是数据不对?

菜鸟
2011-03-27 22:39:14     打赏
3楼

有数据,数据不对,我单纯测试串口的程序波特率使用9.6k,可以正常和计算机通信,但是更改程序之后,使用mode和assign命令对串口通信程序仿真,串口调试助手显示的是正确的,程序下到单片机中,然后在计算机上使用串口调试助手查看单片机串口的输出,和仿真的结果不一样。
仿真的结果:


单片机跑之后得结果:


菜鸟
2011-03-27 22:49:39     打赏
4楼
源代码:http://dl.dbank.com/c0w8jyfu5e
如果有STC89C52RC板子,帮忙跑一下,看看输出结果一样吧,谢谢。

专家
2011-03-28 11:33:39     打赏
5楼
把3楼的图片传上来我看看!这个问题应该能解决的!

菜鸟
2011-03-28 14:16:59     打赏
6楼

这是使用电脑上的两个串口,使用MODE COM4 19200,0,8,1;ASSIGN COM4 <SIN >SOUT,将输入输出绑定到一个串口,然后使用串口线连接这两个串口,在另一个串口看到的数据。


下面是程序下载到单片机上,单片机的输出结果:


如果看不到,我把这两张图片放在这里了:
http://dl.dbank.com/c0mkssxb3l


菜鸟
2011-03-29 13:47:05     打赏
7楼

高工
2011-03-29 18:04:36     打赏
8楼

你确认板子上输出的波特率没错?

可以发固定的数,用示波器看看波形


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]