Tim定时器操作

写在前面:

没想到最后做的才是定时器hhhhhh,把最麻烦的留在最后做bksw,而且要在之前乱七八糟插入定时器再调真的有毒,以后要先做框架了


Tim外设产生PWM波

配置:

internal clock

打开通道

配置频率

打开Tim

HAL_TIM_PWM_Start(&htim8,TIM_CHANNEL_1);

这里选取的是Tim8的CH1,对应引脚为PC6

__HAL_TIM_SET_COMPARE(&htim8, TIM_CHANNEL_1, dutyCycle);

第三个参数控制占空比,由于频率设置为1000,所以使用一个小于一千的数控制占空比。

想要关闭产生可变PWM时直接产生一个固定频率的PWM波即可。


定时器中断操作

配置定时器,这里因为是72分频,所以为

第三栏为时间,这里10000为1s,所以这里是定时0,1s

代码部分

HAL_TIM_Base_Start_IT(&htim5);

打开tim5

HAL_TIM_Base_Stop_IT(&htim5);

关闭tim5

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{if (htim->Instance == htim5.Instance)

        {
            k--;
       }
}

在code 4 处添加此代码,作为中断内容。

原文地址:https://www.cnblogs.com/SFWR-YOU/p/14037794.html