不知道是不是arduino的bug
从两个ADC管脚读取电压。其中一个用DEFALIT的方式读取,另外一个用INTERNAL方式。类似这样的代码:analogReference(INTERNAL);
v = analogRead(6);
Serial.println(v);
analogReference(DEFAULT);
analogRead(other);
INTERNAL方式读取的数据输出类似这样:
160
715
160
715
162
160
160
715
其中很多数据是不对的,比如160是不对的。但如果关掉后面的DEFAULT开关,数据就都正确了。
请问这是什么问题?在一个Arduino的程序中不能同时用两种ADC方式读取吗?
你还是看看analogReference这个函数吧DEFAULT INTERNAL的参考电压都不一样 160/1.1*5=727 路过感觉当你怀疑的时候 真的应该去看看函数定义 路过感觉当你怀疑的时候 真的应该去看看函数定义 本帖最后由 seagatecm 于 2016-12-14 23:27 编辑
也许我没说清楚吧。
我是两个ADC读取,一个用DEFAULT,一个用INTERNAL。
DEFAULT方式读取的数据完全正常,而INTERNAL读出的数据有错有对。
我看过analogReference的函数定义,我就是要使用他不同的参考电压读数,所以专门这么使用的。
INTERNAL和DEFAULT在使用中是可以切换的对吧,所以我才奇怪用内部参考电压的这个脚,为什么会读出一些不正确的数据。
不过文档里面这么写
Alternatively, you can connect the external reference voltage to the AREF pin through a 5K resistor, allowing you to switch between external and internal reference voltages.
我用的MINIPRO,AREF上面连的是个0.1uf的电容,是必须要用电阻,才能切换吗?
页:
[1]