1、问题记录:由18串温度采样修改成32串温度采样,增加一路adc采样,通过cd4051控制通道选通,代码中增加了相应的代码,发现增加的最后8路温度不能够控制,以24串为例,给温度传感器增加温度,相应的采集的温度信息并没有发生变化。
2、查找问题:
首先对24串的温度传感器加热,但是转出来的温度数据并没有变化,由于温度数据是通过采集的电压数据转换出来的,所以我们需要用万用表测量实际采样的电压,发现采样电压并没有发生变化。
接着我们判断是什么原因导致的电压没有发生变化,通过程序进入到dugger模式,停在相应的通道选通中,判断通道选通是否正常;
最后通过对比24串温度对应的通道选通的引脚的高低电平是否正常,发现引脚的高低电平与实际代码中设置的不一样,通过下述代码,对引脚进行强制拉高,发现PTD2能拉高,PTA2和PTA3无法拉高;
下面是原理图部分,可以发现PTA3和PTA2都是复用IO,都可以作为IIC通信的时钟和数据线,考虑是否代码中占用了这部分IO,经过查看并不是这个原因。
3、问题解决
通过查看网上资料,问题得以解决。主要是由开漏引脚造成的。
3.1问题描述
客户通过软件配置PTA2和PTA3为高电平输出时,使用万用表测量时发现实际电压是低电平;
3.2问题分析
PTA2和PTA3是真实的开漏输出引脚,内部是钳位到VSS的,其他非电源引脚内部钳制在VDD和VSS之间,如下图所示:
3.3解决措施
外部增加一个4.7K的上拉电阻即可。