使用MC32F7062的单片机, 发现使用定时器中断直接操控IO口输出控制无源蜂鸣器声音有杂音, 使用PWM控制蜂鸣器声音要好很多,原因我也不知道. 但是使用PWM控制蜂鸣器有一个问题, 我的使用方法是需要蜂鸣器工作就打开定时器, 需要蜂鸣器关闭就关闭定时器, 导致关闭时IO输出高低不固定, 强制控制IO口失灵, 该引脚不可以直接控制.
解决方案是打开定时器可以随时打开, 关闭定时器的时候设置在定时器的中断中关闭, 此时需要配置定时器中断使能开启. 由于定时器的计数完成后,会将电平置低, 同时进入中断, 因此在中断中关闭可以保证输出的电平为低.