Довольно часто нужно отлаживать код программы и самый простой - давать команды Ардуинке через Serial.
Может кому пригодится:
char sss[10];
// 10 - длина управляющей посылки 9 байт (+1 на символ конца строки)
byte sss_i=0; // индекс для приёма данных
void loop()
{
int Code;
if (Serial.available())
{
char x = Serial.read();
if (x == ‘\n’)
{ // получили символ заверешения ввода в Serial
int Code = atoi(sss); // В ДАННОМ СЛУЧАЕ преобразуем строку в число
sss_i=0; // устанавливаем на начало строки
if (Code>0) /// тут же можно сразу обработать, или потом
{ …
Serial.println(“Code >0!”);
}
else
{ …
Serial.println(“Code <=0!”);
}
}
else
{ // пока идет приём, и не встретился конец
sss[sss_i++] = x; sss[sss_i] = 0;
if (sss_i >= sizeof(sss)-1) sss_i = 0; // защита, если слишком много символов
} // end of (if x!=‘\n’)
} // end of (Serial.avalable())
Serial.println(“Code =”); Serial.println(Code);
}// end of loop
Этот код не использует задержек, не использует тяжелый String …
Может кому пригодиться.
Стебаешься :)))
100000 - это не int - это long :))))
Ты же сам понимаешь, что это лишь пример. для НОВИЧКОВ.
А ты уже собаку съел, и может даже зубы сточил на этом. :))))
Ну ты то, взрослый уже, а ведешься как маленький. Не стыдно?
или сам не знаешь ответ на свой вопрос?
…
будет печатать
Code =
0
Code =
0
Code =
0
…
до тех пор, пока не будет введены данные в Serial…
и это, нет смысла стебаться. Более простого и элегантного решения для отладочного ввода я так и не увидел. Есть конкретные предложения?
вот я всегда пользую эти uint32_t и т.п.
вот пример, ща выше написал, с пьяну, шо 100000 не лезут в ардуиновский лонг, патамушто башка дырявая и не помнит сколько байт занимает этот логн долбаный в ардуино
а тут все сразу понятно
u - беззнаковый
int - целое
32 - 32 бита или 4 байта
в башке все автоматом складывается, ага 4+ лярда поместится)
п.1 делается через Serial.print(“\n\r СРАБОТАЛО что-то! ”);
п.2 через, например,
if (Serial.available())
switch(Serial.read())
case ‘1’: (запускаем что-то) … break;
… и там действия на какие-то символы. Это пишется быстро и просто. Потом жмем в терминале нужные символы и код получает команды. Я так делаю.