标题: STM8L152k4单片机定时器1,输入捕获没反应 [打印本页]

作者: 渐入寒冬    时间: 2020-10-26 11:56
标题: STM8L152k4单片机定时器1,输入捕获没反应
使用芯片时STM8L152k4,使用输入通道1,PD2,配置完输入输入一个3KHZ的方波信号,一直没反应
查看寄存器中TIM1_SR1中的值感觉有点奇怪,通道1的中断标志为0,一直显示没有捕捉发生,其他几位却被置1
不知道哪里出了错误,希望大佬帮忙找一下错误。
如果有范例程序,也可以贴出来一下     不胜感激

单片机源程序如下:
#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);
}


作者: 大器晚成-2017    时间: 2021-12-1 16:47
看看STM8 选项字,复用功能有没有选对




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1