То ли лыжи не едут... (непонятное поведение скетча)
- Войдите на сайт для отправки комментариев
Ср, 15/08/2012 - 15:44
День добрый, поскольку я занялся ардуинами относительно недавно, то возможно проблем в моем не понимании. Но есть ли мысли по поводу непонятки в таком очевидном скетче, а именно в непонятном получаемом ответе (повторно распечатывается второй char, причем оба раза...)
Причем если в Serial.print (или write) поменять местами ID1 и ID2 то будет дважды печататься другой ID (ID1 в данном примере)
Добавил код отдельно:
>я занялся ардуинами относительно недавно, то возможно проблем в моем не понимании
А вы думаете если "давно", то проблем не бывает ?;)
Тут "грабли" не ардуиновские, а чисто "работа со строками в Cи".
Прочитайте http://arduino.ru/Reference/String
Особенно обращая внимание на все что говорится про "конец строки" и "символ \0" и внимательно посмотрите на длину своих массивов.
Вообще оно у вас будет печатать, пока случайно не попадется в памяти символ 0.
Спасибо за тычок носом, но даже когда изменил длину массивов на 4 - результат был такой-же как и в начале (что само по себе странно).
Нормально получилось, если задавать массив автоматом, тогда проблема не возникает:
Но самое интересное было позже...
Откатился обратно (с измененной длиной массивов):
и на этот раз все работало как нужно.
p.s. может стоит портелгейсов в доме погонять? :-))))
Не стоит.
Просто возьмите за праило завершать строки в Си символом '\0':
const char IDsensorIr[4] = {'I','D','1','\0'};
Иначе будет у вас все работать через раз.
А то и через десять...