#pragma vector=0x14//串口1接收中断
__interrupt void UART1_RX_IRQHandler(void)
{
str=UART1_DR;
}
#pragma vector=0x19//TIM4计数溢出更新事件中断响应函数
__interrupt void TIM4_UPD_OVF_IRQHandler(void)
{
num++;
TIM4_SR = 0;
while(1)//在定时器中设置死循环
;
}
main()
{................................
ITC_SPR4=0xcf;//串口1中断软件优先级 次高
ITC_SPR5=0x7f;//定时器4中断软件优先级 次低
...................................
}
为了提高串口的实时性,做了一个测试,进入TIM4中断死循环后,即使串口1的软件中断优先级高,也不能进入串口1中断,不知什么原因
|