OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4934|回复: 3

STM32f072 TIM3CH2输入捕获进不了AL_TIM_IC_CaptureCallback中断

[复制链接]

20

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
726
金钱
726
注册时间
2012-4-27
在线时间
189 小时
发表于 2023-4-8 21:54:23 | 显示全部楼层 |阅读模式
1金钱
STM32f072 TIM3CH2输入捕获进不了HAL_TIM_IC_CaptureCallback中断,不知道是什么原因?代码如下:
void TIM3_CH2_Cap_Init(uint32_t arr,uint16_t psc)
{  
    TIM_IC_InitTypeDef TIM3_CH2Config;  

    TIM3_Handler.Instance=TIM3;
    TIM3_Handler.Init.Prescaler=71;                     //分频系数
    TIM3_Handler.Init.CounterMode=TIM_COUNTERMODE_UP;    //向上计数器
    TIM3_Handler.Init.Period=0xFFFF;                        //自动装载值
    TIM3_Handler.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;//时钟分频银子
       
    HAL_TIM_IC_Init(&TIM3_Handler);//初始化输入捕获时基参数

    TIM3_CH2Config.ICPolarity=TIM_INPUTCHANNELPOLARITY_FALLING;
    TIM3_CH2Config.ICSelection=TIM_ICSELECTION_DIRECTTI;//映射到TI1上
    TIM3_CH2Config.ICPrescaler=TIM_ICPSC_DIV1;  
    TIM3_CH2Config.ICFilter=0;                          //配置输入滤波器,不滤波
    HAL_TIM_IC_ConfigChannel(&TIM3_Handler,&TIM3_CH2Config,TIM_CHANNEL_2);

          __HAL_TIM_SET_CAPTUREPOLARITY(&TIM3_Handler, TIM_CHANNEL_2, TIM_INPUTCHANNELPOLARITY_FALLING);
                HAL_TIM_Base_Start_IT(&TIM3_Handler);
    HAL_TIM_IC_Start(&TIM3_Handler,TIM_CHANNEL_2);
                HAL_TIM_IC_Start_IT(&TIM3_Handler,TIM_CHANNEL_2);
       
          HAL_NVIC_SetPriority(TIM3_IRQn,2,0);    //设置中断优先级,抢占优先级2,子优先级0
    HAL_NVIC_EnableIRQ(TIM3_IRQn);
}

void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim)
{
    GPIO_InitTypeDef GPIO_Initure;
if(htim->Instance==TIM3)
         {
    __HAL_RCC_TIM3_CLK_ENABLE();            //使能TIM5时钟
    __HAL_RCC_GPIOA_CLK_ENABLE();                        //开启GPIOA时钟

                GPIO_Initure.Pin=GPIO_PIN_7;                   //PA7
                GPIO_Initure.Mode=GPIO_MODE_INPUT;          //复用推挽输出
                GPIO_Initure.Pull=GPIO_PULLUP;          //上拉
                GPIO_Initure.Speed=GPIO_SPEED_FREQ_HIGH;//高速
                GPIO_Initure.Alternate = GPIO_AF1_TIM3;       
                HAL_GPIO_Init(GPIOA,&GPIO_Initure);
       
                HAL_NVIC_SetPriority(TIM3_IRQn,2,0);    //设置中断优先级,抢占优先级2,子优先级0
               HAL_NVIC_EnableIRQ(TIM3_IRQn);          //开启ITM5中断通道  
         }

}
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)//捕获中断发生时执行
{
    TIM_IC_InitTypeDef sConfigIC;
    Gpio_EnableRunLED();
          u16InputEndCounter = 120;

}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
726
金钱
726
注册时间
2012-4-27
在线时间
189 小时
 楼主| 发表于 2023-4-8 22:50:26 | 显示全部楼层
三条中断控制语句,不管是加哪一条或两条,都是不行
__HAL_TIM_ENABLE_IT(&TIM3_Handler,TIM_IT_UPDATE);
__HAL_TIM_ENABLE_IT(&TIM3_Handler,TIM_IT_CC2);
__HAL_TIM_ENABLE_IT(&TIM3_Handler,TIM_IT_UPDATE | TIM_IT_CC2);   //使能更新中断
回复

使用道具 举报

20

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
726
金钱
726
注册时间
2012-4-27
在线时间
189 小时
 楼主| 发表于 2023-4-10 19:30:05 | 显示全部楼层
原子哥@正点原子 ;紧急求助
回复

使用道具 举报

164

主题

1230

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1476
金钱
1476
注册时间
2014-5-21
在线时间
342 小时
发表于 2023-8-19 17:40:05 | 显示全部楼层
F030根本没这中断啊,只有golal中断
彼高丽者,边夷贱类,不足待以仁义,不可责以常礼。古来以鱼鳖畜之,宜从阔略。若必欲绝其种类,恐兽穷则搏。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 18:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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