有谁知道Mega 2560上模拟引脚0-15的数字等价物是什么?

时间:2017-09-18 07:14:55

标签: arduino

我是Arduino的初学者。这里我要面对一个声明模拟引脚的问题。我可以使用97到82的int值而不是A0到A15。如果是,那么如何?

1 个答案:

答案 0 :(得分:0)

  

我可以使用97到82的int值而不是A0到A15

不,这不是正确的范围。来自https://github.com/arduino/Arduino/blob/1.8.4/hardware/arduino/avr/variants/mega/pins_arduino.h#L51-L83

#define PIN_A0   (54)
#define PIN_A1   (55)
#define PIN_A2   (56)
#define PIN_A3   (57)
#define PIN_A4   (58)
#define PIN_A5   (59)
#define PIN_A6   (60)
#define PIN_A7   (61)
#define PIN_A8   (62)
#define PIN_A9   (63)
#define PIN_A10  (64)
#define PIN_A11  (65)
#define PIN_A12  (66)
#define PIN_A13  (67)
#define PIN_A14  (68)
#define PIN_A15  (69)

static const uint8_t A0 = PIN_A0;
static const uint8_t A1 = PIN_A1;
static const uint8_t A2 = PIN_A2;
static const uint8_t A3 = PIN_A3;
static const uint8_t A4 = PIN_A4;
static const uint8_t A5 = PIN_A5;
static const uint8_t A6 = PIN_A6;
static const uint8_t A7 = PIN_A7;
static const uint8_t A8 = PIN_A8;
static const uint8_t A9 = PIN_A9;
static const uint8_t A10 = PIN_A10;
static const uint8_t A11 = PIN_A11;
static const uint8_t A12 = PIN_A12;
static const uint8_t A13 = PIN_A13;
static const uint8_t A14 = PIN_A14;
static const uint8_t A15 = PIN_A15;

正如您所看到的,A0A15的值为54到69.

您可以使用这些数字而不是A n 引脚名称吗?是。

您也可以将模拟频道编号与analogRead()一起使用。 例如,以下三个语句都读取引脚A0:

analogRead(A0)

analogRead(54)

analogRead(0)

但是,使用Arduino主板丝网上写的引脚名称真的不那么令人困惑。

  

如果是,那么如何?

正如您使用A n 引脚名称一样。