三种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参数更新(实时波形合成)