打印

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

[复制链接]
6776|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 | 只看该作者

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

我认为只要设置正确 ,波特率正确,其它的不管怎么样,RC
IF应该总是有的啊?

使用特权

评论回复
5
xieyuanbin| | 2007-5-23 11:19 | 只看该作者

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

IF当然不会置1了.

使用特权

评论回复
6
ocon| | 2007-5-23 20:33 | 只看该作者

貌似PC端的问题。

使用特权

评论回复
7
lj751026| | 2007-5-23 22:51 | 只看该作者

累计误差

以我的经验,是波特率不准了,导致接受溢出或报错,可以仿真看一下,因该很好解决的。

使用特权

评论回复
8
kingpoo|  楼主 | 2007-5-24 07:33 | 只看该作者

TO xieyuanbin

我现在是没有接收到数据,不会和发送有关系吧!

TO ocon:
我估计还不是PC的问题,因为我用了一个HMI与串口连接,也存在同样的问题 

使用特权

评论回复
9
kingpoo|  楼主 | 2007-5-26 07:17 | 只看该作者

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

使用特权

评论回复
10
xieyuanbin| | 2007-5-26 08:13 | 只看该作者

看看波形.

PC端有没有正确发送信号?用户端有没有正确的信号输入?连续发送0X55可以获得一个方波,方波的频率*2就是数据的波特率,很容易就可以判别是谁的问题.

使用特权

评论回复
11
kingpoo|  楼主 | 2007-5-26 10:03 | 只看该作者

准备晚上回去再苦战一夜

使用特权

评论回复
12
xieyuanbin| | 2007-5-26 19:43 | 只看该作者

恐怖.

不用一夜吧?

使用特权

评论回复
13
kingpoo|  楼主 | 2007-5-26 21:06 | 只看该作者

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

原来是发送速度太快了,导致发生接收溢出错误,但是确没有清CREN,导致无法接收.

使用特权

评论回复
14
yewuyi| | 2007-5-27 08:33 | 只看该作者

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

“一开始是正常的,在发了1K多数据的时候,单片机就无法接收数据了”

使用特权

评论回复
15
kingpoo|  楼主 | 2007-5-28 07:42 | 只看该作者

事实确实是这样的

事实确实是这样的,其实我一开始的程序的意图是正确的,只是有个地方CREN=0;被我写成了CREN=1,结果就导致这样的问题出现

使用特权

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

本版积分规则

79

主题

610

帖子

1

粉丝