打印

PICmcu串口接收溢出处理(有代码)

[复制链接]
2317|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
benjamin_2010|  楼主 | 2010-4-14 21:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上位机给pic18的串口连续发送长度为6个字节的数据帧,如果频繁发送,串口将死掉,由于打开了看门狗,单片机将自动复位。
给串口接受做了如下的容差处理但效果不理想。请问这应该用什么策略来处理接受溢出呢?

下面是串口接收单个字节的代码
每出现一次中断,单片机在中断中接收6个连缀的字节组成一帧数据1
unsigned char uart2_getchar(void)
{        
unsigned char u2gchar,u2gchara;
while(1)
{
  if(RC2IF==1) break;
}
u2gchar=RCREG2;
if((OERR2==1)||(FERR2))
{
  CREN2=0;
  asm("nop");
  CREN2=1;
}
if((OERR2==1)||(FERR2))
{   
  u2gchara=RCREG2;
  u2gchara=RCREG2;
  if(FERR2 == 1)
  {
   SPEN2 = 0;
   asm("nop");
   SPEN2 = 1;
  }
}
return (u2gchar);
}

相关帖子

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

本版积分规则

0

主题

46

帖子

1

粉丝