为什么我的接收中断没有生效?!
void uart2init(void)//9600bps@11.0592MHz
{
LED0=1;
LED1=1;
S2CON = 0x50; //8位数据,可变波特率
AUXR |= 0x04; //定时器时钟1T模式
T2L = 0xE0; //设置定时初始值
T2H = 0xFE; //设置定时初始值
AUXR |= 0x10; //定时器2开始计时
IE2 = ES2; // 使能串口中断
EA = 1; // 开总中断
uart2busy = 0; //总线忙不忙
}
我先初始化了串口2 。
然后设置中断。
void Uart2Isr() interrupt 8 //using 1
{
if (S2CON & 0x02) // 发送中断标志判断
{
S2CON &= ~0x02; // 清中断标志
LED1 = !LED1; // 测试端口
uart2busy = 0; // busy=0满足发送条件
}
if (S2CON & 0x01) // 接收中断标志判断
{
S2CON &= ~0x01; // 清中断标志
LED0 = !LED0; // 测试端口
}
}
为什么发送时LED1会取反闪起来。但是电脑端的发送。MCU的接收,没有进入接收中断。LED0一直没有闪?
从正确开始,而不是从错误开始
https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=375&pid=2070
页:
[1]