2016-02-09 160 views
0

我是Arduino的新手。我试图读取UNO上的所有模拟和数字引脚,并通过串行输出到python脚本。我收到一个错误,说明变量D2-D12未在此范围内声明。变量a0 - a5不报告错误。我知道我必须俯视一些非常简单的事情。在Arduino中声明全局变量

byte APins[] = {A0, A1, A2, A3, A4, A5}; 
byte DPins[] = {D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12}; 

void setup(){ 
    Serial.begin(115200); 
} 

void loop(){ 
    for (int x = 2; x < 13; x++){  
    Serial.print("A"); 
    Serial.print(x); 
    Serial.print(":"); 
    Serial.println(analogRead(APins[x])); 

    } 

    for (int x = 2; x < 13; x++){  
    Serial.print("D"); 
    Serial.print(x); 
    Serial.print(":"); 
    Serial.println(digitalRead(DPins[x-2])); 

    delay(250); 
    } 
} 

回答

2

更改以下

byte DPins[] = {D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12}; 

byte DPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; 

的是没有D前缀数字引脚。它只是十进制数。