从'char *'到'uint8_t'Arduino的无效转换

时间:2013-07-24 12:31:23

标签: types arduino

我正试图在我的Mega上立刻为所有模拟输入引脚设置引脚模式。所以我在设置之前做了一个数组:

char* Analog_Input_List[16] = {"A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","A11","A12","A13","A14","A15"};

然后我试着运行它:

 //analogue input pin set-up
 for (int i =0;i<8;i++){
 pinMode(Analog_Input_List[i], OUTPUT);   
 }

但是我收到了这个错误:

sketch_jul24a.cpp: In function ‘void setup()’:
sketch_jul24a.cpp:54:40: error: invalid conversion from ‘char*’ to ‘uint8_t’
sketch_jul24a.cpp:54:40: error:   initializing argument 1 of ‘void pinMode(uint8_t, uint8_t)’

我是arduino编程的新手,类型的声明和操作让我感到困惑我知道它的一些简单但不确定如何修复它。

由于

1 个答案:

答案 0 :(得分:2)

您尝试初始化的引脚由预处理器宏扩展为整数常量来描述。它们不是字符串。你想要的是

int inputPins[] = { A0, A1, /* etc. */ };

代替。