|
本帖最后由 epwwm 于 2020-3-2 16:46 编辑
第一次中STM8S003F3的中断,用的是固件库,其他还好,当想用中断,弄了半天也进不了定时中断,
定时器初始
void TIMER1_Init(void)
{
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE);//开时钟
TIM1_DeInit();
TIM1_Cmd(DISABLE);
TIM1_TimeBaseInit(16,TIM1_COUNTERMODE_UP,1000,0); //16分频,向上计数,每1ms定时中断一次, 重复计数器值为0
TIM1_ARRPreloadConfig(ENABLE);
TIM1_ITConfig(TIM1_IT_UPDATE , ENABLE);
TIM1_Cmd(ENABLE);
}
stm8s_it.c 的中断入口:
INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
// TIMER1_Decrement();
TIM1_ClearITPendingBit(TIM1_IT_UPDATE);
}
主函数:
void main(void)
{
#include "stm8s.h"
TIMER1_Init();
enableInterrupts();
while(1)
{}
}
用IAR for stm8 ,编译,软件仿真,怎么搞也进不了定时1的中断。
到底漏了什么呢?? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|