rt,我自己用stm32弄了一个小玩意,里面有用到MQ-2烟雾模块,但是我在使用打火机进行测试的时候,MQ2的DO灯能正常亮起,但是却不能把数值同步到oled上,只是一直在图中的这个数值范围内跳动。有佬遇到过这是什么问题吗?
这是while中mq2的代码↓

未检测到烟雾时↓


mq2能正常相应↓

oled无法同步数据↓

rt,我自己用stm32弄了一个小玩意,里面有用到MQ-2烟雾模块,但是我在使用打火机进行测试的时候,MQ2的DO灯能正常亮起,但是却不能把数值同步到oled上,只是一直在图中的这个数值范围内跳动。有佬遇到过这是什么问题吗?
这是while中mq2的代码↓

未检测到烟雾时↓


mq2能正常相应↓

oled无法同步数据↓

看现象和代码,问题应该出在MQ-2的模拟量读取环节——DO灯亮说明模块硬件是好的,但数值没变化是因为没正确读到AO输出的模拟信号:
MQ2_GetData_PPM()是不是没正确配置ADC通道?比如ADC没使能、通道号写错,导致没读到真实的模拟量。MQ2_GetData_PPM()里计算ppm的公式对不对?要是公式错了,就算读到模拟量也会显示异常。先优先查AO引脚的接线和ADC配置,这俩是最常见的锅。