Цитата(amiller @ Apr 11 2017, 15:50)

Приветствую!
Возникла задача сделать канал передачи данных между основным устройством на микроконтроллере и пультом управления (тоже на микроконтроллере).
Сначала я сориентировался на блютуз модули типа НС-05 и НС-06.
Закупил несколько штук, удалось настроить канал связи достаточно легко.
Тестировал в двух вариантах:
1. COM-порт блютуза от ноутбука - НС-05 (slave) - UART микроконтроллера.
2. USB-UART - НС-05 (master) - НС-05 (slave) - UART микроконтроллера.
В принципе связь есть в обоих случаях, но с проблемами.
У меня протокол полудуплексный, спроектирован под RS485: запрос - ожидание ответа - если таймаут, то новая попытка.
А эти модули похоже отправляют данные пачками, т.е. мои запросы набиваются в буфер и при его заполнении или по таймауту (достаточно большому), происходит передача целого блока. С ответами тоже самое. При этом эффективная скорость передачи данных получается примерно на порядок меньше расчётной.
Конечно можно переделать ПО для связи, сделать отдельные очереди на передачу и прием с разбором и распределением ответов, хотя это не избавляет от задержек реакции на единичный запрос.
Но вдруг есть способ настроить эти модули (размер буфера, интервал передачи данных). Может у кого есть опыт успешного использования?
Может есть варианты перепрошивки модулей. Кстати для их прошивки я находил только реализацию программаторов на базе LPT. Может кто видел решение посовременнее?
Или предложите совсем другое решение. Цель в общем то понятна из названия.
Пере прошивать можно.Для реализации вашей задачи нужно создавать прошивку, но слава богу не с нуля.Качайте Bluelab 4.1, в месте с ним будет доступны примеры, интерактивная справка по структурам, функциям, перечислениям и.д. , через браузер. Там же и документация по программированию. По всей видимости на BC417 доступно только программирование на СИ, так как во всей документации я не нашел информации по MCU XAP, не смог найти и по ассемблеру, накопал только по XAP4,5,6, все что ниже как будто засекретили.В блюкор чипах уже с завода предустановлена прошивка.Программист имеет возможность создавать программу, которые взаимодействует с Виртуальной машиной и работает с уже встроенной прошивкой.Как я понял там несколько кольцевых буферов, все тонкости не знаю, сам учусь, в качестве любителя, но думаю размер буфера настроить можно.Отлаживать и запускать можно прям на Ваших платках, через SPI LPT.USB SPI для SCR bluecore продают китайцы на али.Есть решение на FTDI чипе, но у меня не вышло, так как я самостоятельно сделал платку, а чип оказался поддельный, мне кажется проще купить готовый USB to UART с FTDIRL.
Сообщение отредактировал bassizlink - Apr 11 2017, 21:02