所以我的问题是,正如标题所说: Arduino UNO analogRead总是返回1023。
但当我在Arduino Mega 2650中烧制同样的素描时,一切都像符咒一样。
我试过更换UNO上的爱特梅尔芯片,试了大概3个(ATMEGA328P-PU),但什么也没改变。
我正在尝试计数来自霍尔效应传感器的信号,并将计数结果显示在7段显示器上。
代码如下:
#include "SevSeg.h"
SevSeg sevseg;
volatile int rpmcount;
void setup() {
Serial.begin(9600);
pinMode(2,INPUT_PULLUP);
rpmcount = 0;
sevseg.Begin(1,3,4,5,6,7,8,9,10,11,12,13);
}
int border=15;
void loop() {
int tmp=0;
tmp = analogRead(0);
if(!digitalRead(2))rpmcount=0;
Serial.println(tmp,DEC);
if(tmp<=border && res >border){
rpmcount++;
if(rpmcount>9999)rpmcount=0;
}
res=tmp;
sevseg.NewNum(rpmcount,(byte) 0);
sevseg.PrintOutput();
}任何帮助都将不胜感激
发布于 2013-04-24 15:59:47
对我来说,这听起来好像ADC引脚上的内部上拉电阻已启用。
通用检查表:
ACSR中的
https://stackoverflow.com/questions/16164933
复制相似问题