Приветствую!
Возникла задача сделать канал передачи данных между основным устройством на микроконтроллере и пультом управления (тоже на микроконтроллере).
Сначала я сориентировался на блютуз модули типа НС-05 и НС-06.
Закупил несколько штук, удалось настроить канал связи достаточно легко.
Тестировал в двух вариантах:
1. COM-порт блютуза от ноутбука - НС-05 (slave) - UART микроконтроллера.
2. USB-UART - НС-05 (master) - НС-05 (slave) - UART микроконтроллера.
В принципе связь есть в обоих случаях, но с проблемами.
У меня протокол полудуплексный, спроектирован под RS485: запрос - ожидание ответа - если таймаут, то новая попытка.
А эти модули похоже отправляют данные пачками, т.е. мои запросы набиваются в буфер и при его заполнении или по таймауту (достаточно большому), происходит передача целого блока. С ответами тоже самое. При этом эффективная скорость передачи данных получается примерно на порядок меньше расчётной.
Конечно можно переделать ПО для связи, сделать отдельные очереди на передачу и прием с разбором и распределением ответов, хотя это не избавляет от задержек реакции на единичный запрос.
Но вдруг есть способ настроить эти модули (размер буфера, интервал передачи данных). Может у кого есть опыт успешного использования?
Может есть варианты перепрошивки модулей. Кстати для их прошивки я находил только реализацию программаторов на базе LPT. Может кто видел решение посовременнее?
Или предложите совсем другое решение. Цель в общем то понятна из названия.