定时器STM中断:
配置定时器中断
/* GPIO外部中断 中断服务函数 中断号(cpu0,cpu1,DMA) 优先级*/
IFX_INTERRUPT(STM0_CH0_IRQHandler, STM0_VECTABNUM, STM0_CH0_PRIORITY);
IFX_INTERRUPT(STM0_CH1_IRQHandler, STM0_VECTABNUM, STM0_CH1_PRIORITY);
IFX_INTERRUPT(STM1_CH0_IRQHandler, STM1_VECTABNUM, STM1_CH0_PRIORITY);
IFX_INTERRUPT(STM1_CH1_IRQHandler, STM1_VECTABNUM, STM1_CH1_PRIORITY);
初始化函数:
/* * @param stm : STM标号 STM0 、 STM1
* @param channel : STM通道 STM_Channel_0 STM_Channel_1
* @param us : STM定时中断 时间(毫秒级)
* */
void STM_InitConfig(STM_t stm, STM_Channel_t channel, uint32 us)
{
}
例程:
void LQ_STM_Timer (void)
{
STM_InitConfig(STM0, STM_Channel_0, 500000);//STM初始化
STM_InitConfig(STM0, STM_Channel_1, 1000000);//STM初始化
//中断服务函数中翻转LED
while(1)
{
//LED_Ctrl(LED0,RVS); //电平翻转,LED闪烁
delayms(500); //延时等待
}
}
拿第一个初始化的函数来说明:
STM标号是STM0,STM通道是STM_Channel_0,所以对应的中断服务函数就是STM0_CH0_IRQHandler,延时500000毫秒。