stm32cubeMX生成代码(HAL库)定时器2输入捕获(G0B1)

本文介绍了如何使用STM32CubeMX配置HAL库下的TIM2进行输入捕获,并通过中断处理捕获事件。在主函数中开启捕获中断和更新中断,同时定义了两个回调函数:一个用于处理输入捕获中断,获取定时器寄存器值并翻转GPIO状态;另一个用于处理定时器周期中断,记录中断次数。
摘要由CSDN通过智能技术生成

update event更新中断打开,TIM2中断使能打开 。

主函数初始化:

HAL_TIM_IC_Start_IT(&htim2, TIM_CHANNEL_2);    // 打开捕获中断
__HAL_TIM_ENABLE_IT(&htim2,TIM_IT_UPDATE);    //使能定时器2中断

两个回调函数:

uint32_t capture;
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)//捕获中断
{
    if(TIM2 == htim->Instance)
    {
         capture= HAL_TIM_ReadCapturedValue(&htim2,TIM_CHANNEL_2);//定时器寄存器值
         HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);//翻转灯看看
    }

}


uint32_t timer=0;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)//定时器中断
{
    if (htim->Instance == TIM2)
    {
            timer++;//定时器中断次数
    }
}

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值