Проблема с одновременной чтением-записью Serial
- Войдите на сайт для отправки комментариев
Чт, 30/03/2017 - 00:45
Задача : читать данные с GPS-модуля(темп 1 Гц, 2-3 строки 15..45 символов) и отправлять на него команды(нерегулярно, 1 команда 30..40 символов).
MEGA2560, использую аппаратный Serial1, скорость 9600. Для чтения использую serialevent1(), внутри которого классический цикл while (Serial1.available()); для записи - Serial1.print().
При простом чтении никаких проблем нет - работает часами, т.е. бесконечно. Но как только подключаю запись(отправляю строку в тот же порт), то программа стабильно зависает, не завершив прием первой после передачи строки.
Очевидно, что имеет место коллизия несинхронизации передачи-приема через один и тот же порт.
Подскажите, как решить эту проблему.