进中断后出不来??
请教各位:串口中断通讯的程序,进中断后出不来了,是那里有问题。运行程序后LED1灭、LED2亮。通过PC机发一个数据,单片机进入中断,LED1灭、LED2亮。出中断后应该LED1亮、LED2亮,可信号一直没来。
#include <pic.h>
#include <pic1687x.h>
__CONFIG(WDTDIS&HS&LVPDIS);
static unsigned char data;
void sciint()
{ SPBRG=0X47;
TXSTA=0X04;
RCSTA=0X80;
TRISC6=1; //将RC6,RC7设置为输入方式,对外部呈高阻状态
TRISC7=1; //将RC6,RC7设置为输入方式,对外部呈高阻状态
RC3=0; //RS485接收使能
}
void main()
{
TRISC2=0;
TRISC1=0;
TRISC3=0;
TRISC4=0;
sciint();
PEIE=1;
GIE=1;
RC2=1; //LED1,测试用
while(1)
{ CREN=1;
TXEN=0;
TXIE=0;
RCIE=1;
RC4=0; //LED2,测试用
RC3=0; //RS485接收使能*/
}
}
static void interrupt WWF(void)
{
RC2=0;//LED1,测试用
RC4=1; //LED2,测试用
if(i<=32767)
{i++;}
} 你的个循环等待不应该放那的.你那样就一直在做那些没有必要的动作
我看你的中断是接收中断哦,如果你不读一下接受缓冲区,中断接受标志位就不能清零哦
而且你哪个
if(i<=32767)
{i++;} //你是做延时的吧
也是不对的,如果你第二次中断的话就没有延时拉哦,在后面最好加个i=0;
页:
[1]