Доброго времени суток. Программирую arduino uno, использую последовательный порт в приведенном ниже фрагменте кода функция blinkCou(avByte, 50); мигает заданное в первом параметре число раз 2 выходом, далее по коду мигания выходами нигде нет, так вот при исполнении кода диод мигает 2 раза. Почему, помогите разобраться. Код (C++): avByte = 0; while (avByte <= 0) avByte = Serial.available(); if (avByte == 1) { blinkCou(avByte, 50); if (Serial.read() == 255) { okProv = false; countPack = 0; Serial.write(255); } return; } Спасибо.
Я так понимаю, что приведённый Вами код расположен в функции 'loop()'. Исходя из этого предположения получается следующее: Arduino UNO принимает последовательно два символа через Serial интерфейс, что приводит к миганию диода два раза. Каким образом отправляются данные в Serial интерфейс Arduino UNO?
Serial.available() возвращает 1 если в порту появляются данные. Вероятно, приходит 2 байта вот он и мигает на каждый.
Он возвращает не 1, а количество принятых байт. Если 2 байта придут до вызова Serial.available(), то вернется двойка и условие не сработает.