分享一个遇到的小细节,语音类应用中的功放开关,如下是示意图,MCU通过一个IO口控制功放的开关,高电位打开,低电位关闭。按说MCU只需在IO口上输出高或者低,就能控制功放开关了,那么功放AP_EN脚位上的R1下拉电阻能去掉吗,相信很多人都会说能去掉,其实要看具体情况,我就遇到了一个不能去掉的情况:1)上电后,AP_EN要求是关闭的,只有声音播放时才打开,播放完,又关闭;2)MCU这边上电后,会有一个boot过程,然后才能跑到开发的软件,软件的初始化程序中会关闭AP_EN,这时就出现了一个问题,在boot过程中,所有的MCU IO口都是处于输入上拉模式,内部上拉电阻打开,因此,boot过程中,没有R1下拉电阻,AP_EN是打开的,然后boot完,跑软件程序,才会关闭AP_EN。就会出现一上电,有一个很短暂的时间,AP_EN是打开的,造成的直接影响就是,一上电,喇叭就会出现"bo"的一声,加上这个下拉电阻R1就能避免这种情况,R1可以根据实际情况选择更小的电阻值。