下载贤集网APP入驻自媒体
我今天在测试一个程序的时候,利用stm32普通IO口去控制风扇12V供电的开启和关闭,然后利用PWM通过按键去控制风扇的转速。 在测试时,主程序我写了一个代码,12V风扇供电开启30s,再关闭30s,一直循环,中间放置了一个30s的延时函数,按键控制PWM的占空比 测试程序时发现,风扇供电开启和关闭可以实现,但是按键按下去没反应,通过排查,发现按键消抖部分同样调用了延时函数,想着应该是使用的同一延时函数造成的影响,于是屏蔽掉了主函数风扇供电的延时函数,屏蔽后,按键可以正常控制PWM占空比。 于是我便自己写了一个最普通的延时函数,用在了按键消抖部分,但是验证后结果依然是解决不了问题,觉得很奇怪,还请有知道的指导下,不甚感激。 代码如下: