你说的PWM应该是硬件PWM,由计数器和比较器组成,设定周期和占空比后不需软件干涉,4条以内赋值指令即可完成修改周期和占空比,而用定时器模拟PWM时需占用CPU时间,虽然开销不大,但是会用到定时器中断,在大型程序中,如果模拟该PWM的定时器中断优先级不高则可能导致PWM不精确;另外,设PWM精度要求为1%,则硬件PWM的周期可做到100个时钟周期,而软件PWM的周期将是几十倍于硬件PWM。
所以,在高速场合软件PWM就显的力不从心,而在低速场合两者没有区别,因为无论硬件PWM还是软件PWM都必须从IO口输出
pwm是占空比可调的方波。占空比是指高电平占一个方波周期的比例。