找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2497|回复: 1
打印 上一主题 下一主题
收起左侧

STM8L152k4单片机定时器1,输入捕获没反应

[复制链接]
跳转到指定楼层
楼主
20黑币
使用芯片时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);
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:257064 发表于 2021-12-1 16:47 | 只看该作者
看看STM8 选项字,复用功能有没有选对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表