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 处添加此代码,作为中断内容。