wenbo2005.online

学习记录 / STM32

PWM 输出

STM322025-04-19

三种PWM波输出方式:

HAL_TIM_PWM_Start()

1,无中断/DMA:完全依赖硬件定时器生成PWM信号

2,低CPU占用:启动后无需CPU干预,适合“设置后不管”的场景(直流电机)

3,简单易用:无需配置中断或DMA,代码复杂度低

HAL_TIM_PWM_Start_IT()

1,启用定时器中断:可触发更新中断(ARR溢出)或捕获/比较中断(CCR匹配)

2,实时响应:适合需要动态调整PWM参数的场景(如占空比渐变的呼吸灯)

3,中等CPU占用:中断频率高时可能导致CPU负载增加,高频中断可能影响系统实时性

HAL_TIM_PWM_Start_DMA()

1,使用DMA传输数据:通过DMA自动更新CCR值(占空比)或ARR值(频率)

2,零CPU干预:DMA完成数据传输后触发中断通知CPU

3,高效批量处理:适合高频或大批量PWM参数更新(实时波形合成)