Сброс цикла по UART
- Войдите на сайт для отправки комментариев
Пт, 22/08/2014 - 16:58
Доброго дня, столкнуся с очень дрянной проблемой. В общем как только приходит команда от блютус модуля 'G' ардуино запускает вот акой цикл:
void loop() { digitalWrite(BT, HIGH); if (Serial.available() > 0) { //если пришли данные incomingByte = Serial.read(); // считываем байт if(incomingByte == 'G') { digitalWrite(LED, HIGH); glush_sost = 1; while (glush_sost){ SendPerebor(var, 10, 10); var=var+1; digitalWrite(LED, HIGH); delay(10); digitalWrite(LED, LOW); if (var > 10){ var=0; } } } } }
Так вот, проблема в том что нужно схожей командой. например 'H'. от блютус модуля остановить этот цикл. Вот так не получатся:
if(incomingByte == 'H') { digitalWrite(LED, LOW); glush_sost == 0; Serial.println('Z'); delay(5); Serial.println('Z'); }
Что ещё можно придумать?
Поместите ловлю и чтение incomingByte внутрь цикла while (glush_sost).