我把端口吹到A2了吗?

时间:2014-03-07 05:10:49

标签: arduino

我正在玩一个SparkFun Redboard(基本上是一个Arduino UNO)。

我有一个简单的5V传感器,我一直试图使用A2和analogRead()。似乎没什么用。它应该从0循环到5V,这应该给我从0到1023的值,并且我将获得大约260的恒定值。

绝望中,我尝试使用其他端口。在A0,A1和A3上,我得到了我期望的信号。在A2,仍然是nada。

所以,问题。有没有什么我可以做的配置会使A2和只有A2停止正确阅读?如果是,我该如何重置?

或者我可能正在使用哪些其他功能可能会干扰A2?目前,我只使用Serial over USB - 这会干扰A2吗?

或者我可以简单地炸掉这个港口吗?

1 个答案:

答案 0 :(得分:1)

ATmega 328只有1个模数转换器(ADC),因此您可能会认为模拟输入是全部或全部。芯片输入引脚和ADC之间是一个8通道多路复用器,可将一个模拟输入引脚连接到ADC。因此,如果您损坏了多路复用器,您可能会遇到只有一个输入不起作用的症状。

坚持260的价值让我觉得有机会。在扔掉芯片之前,请确保不是:

  • 在引脚上设置上拉电阻 - 这会产生不良影响
  • 写入引脚 - 您仍然可以同时写入输出引脚,尝试读取模拟输入。什么都不会发生,但你可以做到。

运行一个精简程序,除了读取一个模拟输入外什么都不做,什么都没有连接到芯片上。如果你仍然看到260,则输入可能是吐司。