首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino UNO analogRead总是返回1023

Arduino UNO analogRead总是返回1023
EN

Stack Overflow用户
提问于 2013-04-23 16:49:31
回答 1查看 3.9K关注 0票数 1

所以我的问题是,正如标题所说: Arduino UNO analogRead总是返回1023。

但当我在Arduino Mega 2650中烧制同样的素描时,一切都像符咒一样。

我试过更换UNO上的爱特梅尔芯片,试了大概3个(ATMEGA328P-PU),但什么也没改变。

我正在尝试计数来自霍尔效应传感器的信号,并将计数结果显示在7段显示器上。

代码如下:

代码语言:javascript
复制
#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();
}

任何帮助都将不胜感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-24 15:59:47

对我来说,这听起来好像ADC引脚上的内部上拉电阻已启用。

通用检查表:

ACSR中的

  • ACD位为0(比较器启用) ADMUX set properly
  • correct AREF
  • ADC引脚中的选定
  • ADC引脚设置为输入
  • 内部上拉电阻取消选择
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16164933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档