打印

PIC16F1934 串口接收中断就响应两次

[复制链接]
4302|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fq1110|  楼主 | 2010-10-15 19:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
初始化与中断代码如下:
void InitUSart()
{
TRISC6=1; //txd pin
TRISC7=1; //rxd pin
SPBRG=0x67; //16000000/(16*(SPBRG+1))=9600
TXSTA=0x24;                    
RCSTA=0x90;
BAUDCON=0x00;
//PIE1|=0x20; //open usart rx interrupt
PIE1|=0x30; //open usart interrupt
}

void interrupt ISR(void)
{
if(RCIE&&RCIF)  //USart接收中断
{
   u8 i=RCREG;
   PushDataToBuf(&g_USartRcvBuf,i);
}
}
发送没有问题,接收中断两次后就不产生中断了,请问大侠们,有可能是什么原因啊?
沙发
fq1110|  楼主 | 2010-10-15 19:43 | 只看该作者
我是用PC端串口调试做的实验,一次如果1个字符,中断没有问题,但一次发多了,PIC就只中断两次后面就不再中断了。我怀疑是PIC缓冲区溢出了,但我不知道如何处理。

使用特权

评论回复
板凳
fq1110|  楼主 | 2010-10-15 19:45 | 只看该作者
但是查看FERR与OERR寄存器的值都为零。是正常的。

使用特权

评论回复
地板
fq1110|  楼主 | 2010-10-16 12:12 | 只看该作者
PIC论坛怎么这么冷啊。不能让它沉下去,顶起来。

使用特权

评论回复
5
tcc8073| | 2010-10-16 13:07 | 只看该作者
开串口连续接受功能

使用特权

评论回复
6
clarkzeng| | 2010-10-16 13:59 | 只看该作者
:P

使用特权

评论回复
7
Mary_luo| | 2010-10-19 14:42 | 只看该作者
帮楼主顶起来

使用特权

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

本版积分规则

68

主题

530

帖子

1

粉丝