定時器需要注意stm8l051默認不開啓外設時鐘,需要打開。
void Tim1_Init(void)
{
TIM2_DeInit();
CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);//開啓定時器外設時鐘
TIM2_TimeBaseInit(TIM2_Prescaler_16,TIM2_CounterMode_Up,1000); //(定時器頻率:16分頻即系統頻率的1/16,爲1M,向上計數,定時器溢出值,重裝載計數從0開始) ,1MS進入一次中斷
TIM2_ITConfig(TIM2_IT_Update,ENABLE);//中斷配置與使能函數
TIM2_ARRPreloadConfig(ENABLE);//使能數值自動重裝載功能
TIM2_Cmd(ENABLE);//開定時器
enableInterrupts();//開啓總中斷
}
看中斷表,沒有定時器中斷1,所以改成2就好了