CD4051做多路温度测量问题
时间:10-02
整理:3721RD
点击:
CD4051用3.3V提供单组电源,VSS、VEE接地,0.1uf滤波。用2个CD4051做八路温度采集,只开通一个通道时正常采集温度,切换通道进行采集温度时,数据异常。但在温度处理函数处加断点运行温度采集正常,部分代码如下。是不是CD4051有没有考虑到的地方,请各位指教!
void Area_Temperature(void)
{
//“先断后通”切换通道
INH_H;
delay_us(100);
A_L;
B_L;
C_H;
INH_L;
delay_us(100);
if(Read_A==0 && Read_B==0 && Read_C==1 && Read_INH==0)
Temperature_Handle(0);
INH_H;
delay_us(100);
A_L;
B_H;
C_H;
INH_L;
delay_us(100);
if(Read_A==0 && Read_B==1 && Read_C==1 && Read_INH==0)
Temperature_Handle(1);
INH_H;
delay_us(100);
A_H;
B_H;
C_H;
INH_L;
delay_us(100);
if(Read_A==1 && Read_B==1 && Read_C==1 && Read_INH==0)
Temperature_Handle(2);
……
}
加大延迟时间呢?
你好,温度采集用的是MAX31855,它一直在后台转换数据,最大的数据转换时间是100ms,要延时到2s读取一次数据才没有异常。CD4051是不是切换通道时会抖动?