Что такого делает встроенный в arduino ide монитор порта, что после его запуска ардуина начинает передавать данные через USB (точнее через виртуальный СОМ, ибо именно через него ее видит моя Windows 10)? Проблема: есть моя программа, написанная на основе примера из Qt "serial port terminal". Есть скетч, написанный в ардуино IDE. Есть встроенный в IDE монитор порта. После включения питания на плате, моя программа отправляет команды ардуине. Та их принимает, обрабатывает, но в ответ молчит. А должна выдавать данные об угле поворота и времени. Если те же команды, которые передает моя программа ардуине, ручками передавать через встроенный монитор порта Arduino IDE, то в ответ ардуина передает запрошенные данные. После отключения встроенного монитора порта снова запускаю свою программу, и в ответ на ее запросы ардуина отвечает. Работает до отключения питания платы ардуино. Почему??? Что сделать, чтобы плата отвечала на запросы компьютера без дополнительного участия встроенного в IDE Arduino монитора? Код скетча в приложении.
Больше похоже на то, что проблема где на стороне компа. Например, в настройке соединения в вашей программе Qt "serial port terminal". Скорость порта и конец строки выставлены так же, как в ардуино терминале? Либо в самой программе Qt "serial port terminal"
Да. Слушала сниффером: различия только на этапе инициализации устройства - при подключении. В остальном пакеты идентичны. Не знаю, как теперь быть?
При этом ардуинка команды получает, обрабатывает, но ничего в Serial, соединенный с компом, не пишет. Но при этом пишет в Serial1. (Я запрограммировала, чтобы она дублировала данные с Serial на Serial1. Serial1 прослушиваю аппаратным анализатором.)
Как мне выйти на уровень инициализации? Он от меня спрятан: я не знаю, где искать код библиотеки serial? И не знаю, как изменить в Qt пакеты для инициализации СОМ-порта?
И кстати про монитор в IDE: какую бы я скорость сейчас ни выставила, ардуинка ее понимает и отвечает на запросы...