-1
在Arduino One上有兩個標記爲0到5的引腳。其中一個引腳是模擬和其他數字。如果我想從傳感器讀取模擬信號,並且將信號連接到例如模擬引腳0,但我也可以讓數字引腳0設置爲打開LED的輸出,我該如何區分這兩個?如何在使用pinMode時區分模擬和數字引腳?
pinMode(A0, INPUT);
pinMode(0, OUTPUT);
由於我認爲A0 = 0
在Arduino One上有兩個標記爲0到5的引腳。其中一個引腳是模擬和其他數字。如果我想從傳感器讀取模擬信號,並且將信號連接到例如模擬引腳0,但我也可以讓數字引腳0設置爲打開LED的輸出,我該如何區分這兩個?如何在使用pinMode時區分模擬和數字引腳?
pinMode(A0, INPUT);
pinMode(0, OUTPUT);
由於我認爲A0 = 0
上有一個Arduino一種標記0至5的兩個銷。
因爲我認爲A0 = 0
#define PIN_A0 (14)
#define PIN_A1 (15)
#define PIN_A2 (16)
#define PIN_A3 (17)
#define PIN_A4 (18)
#define PIN_A5 (19)
#define PIN_A6 (20)
#define PIN_A7 (21)
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;
所以,正如你所看到的,Uno上的A0-A5的值(它使用s arduino:avr:標準變體)是14-19。
你可能還沒有容易的Arduino硬件定義系統如何工作的,所以任何知識來確定這一點:
void setup() {
Serial.begin(9600);
while (!Serial) {}
byte analogPins[] = {A0, A1, A2, A3, A4, A5};
for (byte element = 0; element < sizeof(analogPins)/sizeof(analogPins[0]); element++) {
Serial.print("The value of A");
Serial.print(element);
Serial.print(" is: ");
Serial.println(analogPins[element]);
}
}
void loop() {}
但實際上這一切都無關緊要。只需調用A0 A0,A0的值不重要。