新手上路
- 积分
- 41
- 金钱
- 41
- 注册时间
- 2015-6-24
- 在线时间
- 0 小时
|
5金钱
stm8s208中断列表处理
在stm8s208开发过程中,我调用了三个中断,分别是定时器1(TIM1)的中断定时,串口1(UART1)的中断接收,串口3(UART3)的中断接收,各个中断处理和主函数代码如下:
//timer1
INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11)
{
TimeDelay1++;
if(TimeDelay1==1000)
{
LED_Reverse(LED1);
TimeDelay1=0;
}
TimingDelay_Decrement();
TIM1_ClearITPendingBit(TIM1_IT_UPDATE);
}
//uart1 rx
INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
{
TimeDelay2++;
if(TimeDelay2==1000)
{
LED_Reverse(LED2);
TimeDelay2=0;
}
UART1_ClearITPendingBit(UART1_IT_RXNE);
}
//uart3 rx
INTERRUPT_HANDLER(UART3_RX_IRQHandler, 21)
{
TimeDelay3++;
if(TimeDelay3==1000)
{
LED_Reverse(LED3);
TimeDelay3=0;
}
UART3_ClearITPendingBit(UART3_IT_RXNE);
}
//main
void main(void)
{
char input;
SystemClock_Init(HSE_Clock);
LED_Init();
Uart1_Init();
Uart3_Init();
Timer1_Init();
enableInterrupts();
while(1){}
}
执行的结果是:LED1闪烁,LED2和LED3在用串口调试助手发送数据时不亮,请教下是什么原因呢?刚接触stm8单片机不久。
|
|