打印

PIC串口通讯关于帧错误和溢出错误问题

[复制链接]
4201|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
colorful88|  楼主 | 2014-8-29 10:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在调试pic串口通讯收发正常,但在特定的情况下出现了模块向单片机发送OK,单片机里设的com_rx_buffer数组里却收不到。
打开寄存器发现RC1STA里的FERR和OERR置1,表示有帧错误和溢出错误,想问问大家是不是这个问题导致接受不正常。这种情况要怎么处理,谢谢
沙发
阳光的味道3121| | 2014-8-29 12:02 | 只看该作者
帧错误或者溢出时你就重新初始化串口。

使用特权

评论回复
板凳
yewuyi| | 2014-8-29 14:08 | 只看该作者
波特率偏差、干扰等都有可能造成。

如果是可重复的现象,则检查代码和波特率。

如果是偶尔的现象,首先检测代码和波特率,确定无问题后,使用软件纠错重发机制处理。

使用特权

评论回复
地板
yklstudent| | 2014-8-29 18:07 | 只看该作者
遇到过 检测到故障位后就初始化串口

使用特权

评论回复
5
colorful88|  楼主 | 2014-8-29 20:36 | 只看该作者
谢谢各位
if((RC1STAbits.FERR == 1)||(RC1STAbits.OERR == 1))
                        {
                                SPEN = 0;
                                RC1STAbits.CREN = 0;
                                Delay_ms(10);
                                SPEN = 1;
                                RC1STAbits.CREN = 1;
                        }

使用特权

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

本版积分规则

18

主题

56

帖子

0

粉丝