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

[复制链接]
 楼主| 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 | 显示全部楼层
遇到过 检测到故障位后就初始化串口
 楼主| 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

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

18

主题

56

帖子

0

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