2013-07-24 4 views
0

Я пытаюсь установить режим вывода для всех аналоговых входных контактов одновременно на моей Mega. Так что я сделал массив, прежде чем установка:Неверное преобразование из 'char *' в 'uint8_t' Arduino

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, а объявление и манипуляция типами меня сбивает с толку. Я знаю его что-то простое, но не уверен, как его исправить.

Благодаря

ответ

2

Штифтов вы пытаетесь инициализировать описываются препроцессор макросы расширяющихся к целочисленной константе. Они не струны. Вместо этого вы должны указать

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

вместо этого.

+0

Блестящие ура! Я не мог найти это в любом месте ...: D – user2137452

+0

@ user2137452 Примите мой ответ, если это поможет. Также, см. Мой комментарий - вы должны действительно изучить C по крайней мере до базового уровня перед программированием Arduino. –

Смежные вопросы