说说感受,比第一批的难一些,一个while循环内采集的外设也增多了(延时增加了),写的时候注意分时采样就好了,另外PCF8591在连续读取时是先开始转换后再读值,所以连续分时读取0x01光敏电阻和0x03电位器时得读2次。第一次转换,第二次再读值。如伪代码:
void CatchAdc(){
if(ADF){
Cons=~Cons;
ReadAdc(0x03);//电位器
if(!Cons){
ADF=~ADF;
ad=ReadAdc(0x03)*5/255;//电位器
}
}
else {
Cons=~Cons;
ReadAdc(0x01); //光敏电阻
if(!Cons){
ADF=~ADF;
ad2= ReadAdc(0x01)*5/255;//光敏电阻
}
}
}
附上我做的源码(可能有不足)
链接:https://pan.baidu.com/s/1Rc704xeWbiFRR2AnIUyHjw
提取码:yzh1