HAL库PWM

时间:2023-03-08 16:00:45

1.占空比控制

  a.在CUBMX的TIM下选择时钟源,选择通道为模式PWM Generation ch1 ,设置分频系数,初始值,不需要自动重装载,选择PWM模式1或2,设置比较值pulse,设置初始为高或低

  b.在代码中调用__HAL_TIM_SET_COMPARE(定时器几,通道,值),设置比较值控制占空比

  c.在主函数中启用定时器及PWM

2.周期控制

  a.在cubmx的TIM下选择时钟源,设通道模式为OUT COMPARE CH1,设置分频系数,初始值不自动重装载,选择compare模式为toggle on match

  b.开启中断

  c.在代码中调用中断回调函数HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim),在内部判断是否为对应定时器

  d.在回调函数中用__HAL_TIM_SET_COUNTER()对定时器数据清零,用__HAL_TIM_SET_COMPARE()设置比较值控制周期;

  e.在主函数中启动定时器及__HAL_TIM_OC_START_IT()开启中断;