使用芯片時STM8L152k4,使用輸入通道1,PD2,配置完輸入輸入一個3KHZ的方波信號,一直沒反應(yīng)
查看寄存器中TIM1_SR1中的值感覺有點奇怪,通道1的中斷標志為0,一直顯示沒有捕捉發(fā)生,其他幾位卻被置1
不知道哪里出了錯誤,希望大佬幫忙找一下錯誤。
如果有范例程序,也可以貼出來一下 不勝感激
定時器1寄存器狀態(tài).png (11.35 KB, 下載次數(shù): 85)
下載附件
2020-10-26 11:44 上傳
單片機源程序如下:
#include<stm8l15x.h>
#include"lcddisplay.h"
#include"swc_clk.h"
void TIM1_Capture_Comfig(void)
{
disableInterrupts();
CLK_PeripheralClockConfig(CLK_Peripheral_TIM1,ENABLE);
TIM1_SetCounter(0);
TIM1_PrescalerConfig(0x10,TIM1_PSCReloadMode_Immediate);
TIM1_CCxCmd(TIM1_Channel_1,ENABLE);
TIM1_ICInit(TIM1_Channel_1,TIM1_ICPolarity_Rising,TIM1_ICSelection_DirectTI,TIM1_ICPSC_DIV1,0x00);
TIM1_ITConfig(TIM1_IT_CC1,ENABLE);
TIM1_ClearITPendingBit(TIM1_IT_CC1);
TIM1_Cmd(ENABLE);
enableInterrupts();
/*
disableInterrupts();
TIM1_DeInit();
CLK_PeripheralClockConfig(CLK_Peripheral_TIM1,ENABLE);
TIM1_ICInit(TIM1_Channel_1,TIM1_ICPolarity_Rising,TIM1_ICSelection_DirectTI,TIM1_ICPSC_DIV8,0x00);
TIM1_ITConfig(TIM1_IT_CC1,ENABLE);
TIM1_ClearITPendingBit(TIM1_IT_CC1);
TIM1_Cmd(ENABLE);
enableInterrupts();
*/
}
main()
{
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
LCD_Init_Configure();
GPIO_Init(GPIOD,GPIO_Pin_2,GPIO_Mode_In_PU_No_IT);
TIM1_Capture_Comfig();
while (1);
}
INTERRUPT_HANDLER(TIM1_CC_IRQHandler,24)
{
TIM1_ClearITPendingBit(TIM1_IT_CC1);
}
|