300719流水账

哎呀,现在就有点想不起来了。

昨天上午把定时器初始化改了,准备写中断服务函数的时候前辈再再一次把我点醒——调试过程中要一块一块的调。怎么说呢,说一块一块的调我好像一下子就懂了,但是实际写程序、工作起来就傻了。

所以下午开始调试ADC,最开始有两个问题,一个是ADC转换值稳定的跳0,另一个是转换(*3.3/4096)之后的返回值ret没有数。

在单步调试的过程中发现ADC初始化之后没有进入到*3.3/4096那个函数里面,为了验证ADC这一块所以单独把这个函数放到主函数里了,ret这个问题解决。

跳0这个事前辈用示波器看了下MG811的输出波形,理论上应该是稳定的,但实际波形更像是锯齿波。所以我的ADC函数没有什么问题,导致跳0的主要原因是传感器的模拟输出。

所以前辈带我向我们领导请教了这个问题,有几个可能的原因,记录如下:MG811是6V供电,在我这个电路中给的是5V,功率可能也不够,还有电流。

我还想到MG811的温度补偿输出被我悬空了,今天问了淘宝两个卖家,得出的结论是5V供电和温度补偿悬空都没有什么大的影响,但是5V供电可能导致测量结果不准确。

另外,我在网上找到MG811资料里都没有模拟电压输出和CO2浓度的关系,我之前也提到了,我用的公式是自己利用WPS回归分析出来的。但是领导说这不行啊,今天还会继续找相关资料。

猜你喜欢

转载自www.cnblogs.com/Jane-share/p/11275729.html