串口通讯无法连续接收数据问题,求助

[复制链接]
8365|14
 楼主| kingpoo 发表于 2007-5-18 07:30 | 显示全部楼层 |阅读模式
通过串口调试助手向单片机USART发送数据,一次发6个数据,10m秒钟重复发送,一开始是正常的,在发了1K多数据的时候,单片机就无法接收数据了,表现为无串口接收中断(中断标志始终为0),用的芯片是18F452,波特率是19200,大家说说这可能是什么问题引起的(MPLAB7.60,ICD2)?
ocon 发表于 2007-5-18 19:38 | 显示全部楼层

建议:

出问题的时候用万用表或示波器量一下单片机的RX输入脚有没有电平变化,可判断是PC还是单片机软件BUG。
xieyuanbin 发表于 2007-5-18 21:38 | 显示全部楼层

把其他的程序全部去掉,只留通讯程序.

看看是否是数据处理错误,还是其它问题.
 楼主| kingpoo 发表于 2007-5-22 18:56 | 显示全部楼层

程序可能引起这样的问题吗?

我认为只要设置正确&nbsp;,波特率正确,其它的不管怎么样,RC<br />IF应该总是有的啊?
xieyuanbin 发表于 2007-5-23 11:19 | 显示全部楼层

如果你处理完毕跑飞了没发送了,

IF当然不会置1了.
ocon 发表于 2007-5-23 20:33 | 显示全部楼层

貌似PC端的问题。

  
lj751026 发表于 2007-5-23 22:51 | 显示全部楼层

累计误差

以我的经验,是波特率不准了,导致接受溢出或报错,可以仿真看一下,因该很好解决的。
 楼主| kingpoo 发表于 2007-5-24 07:33 | 显示全部楼层

TO xieyuanbin

我现在是没有接收到数据,不会和发送有关系吧!<br /><br />TO&nbsp;ocon:<br />我估计还不是PC的问题,因为我用了一个HMI与串口连接,也存在同样的问题&nbsp;<br />
 楼主| kingpoo 发表于 2007-5-26 07:17 | 显示全部楼层

昨天仿真了一下,一切正常!

  
xieyuanbin 发表于 2007-5-26 08:13 | 显示全部楼层

看看波形.

PC端有没有正确发送信号?用户端有没有正确的信号输入?连续发送0X55可以获得一个方波,方波的频率*2就是数据的波特率,很容易就可以判别是谁的问题.
 楼主| kingpoo 发表于 2007-5-26 10:03 | 显示全部楼层

准备晚上回去再苦战一夜

  
xieyuanbin 发表于 2007-5-26 19:43 | 显示全部楼层

恐怖.

不用一夜吧?
 楼主| kingpoo 发表于 2007-5-26 21:06 | 显示全部楼层

确实不用一夜,就用了5分钟,翻了下手册就搞定了

原来是发送速度太快了,导致发生接收溢出错误,但是确没有清CREN,导致无法接收.
yewuyi 发表于 2007-5-27 08:33 | 显示全部楼层

如果是这样,你的第一个帖子就问题大大的……

“一开始是正常的,在发了1K多数据的时候,单片机就无法接收数据了”
 楼主| kingpoo 发表于 2007-5-28 07:42 | 显示全部楼层

事实确实是这样的

事实确实是这样的,其实我一开始的程序的意图是正确的,只是有个地方CREN=0;被我写成了CREN=1,结果就导致这样的问题出现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

79

主题

610

帖子

1

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