Поиск
Показаны результаты для тегов 'бинарные данные'.
-
возврат в текстовый режим после бинарных данных
_3m опубликовал тема в Форумы по интерфейсам
Задача перекликается с темой "Как совместить текст и поток данных в RS-232 ?" Имеется последовательная шина RS485 на ней много устройств разных типов: мои и сторонние. И понадобилась такая штука как логическое отключение/подключение устройства от шины (для общения со "сторонними" устройствам используется протокол XMODEM а он гонит бинарные данные и их нужно игнорировать). С отключением просто: подаем адресную команду и выбранное устройство начинает отбрасывать все принятые байты. Но возникает проблема как его потом включить ? Сейчас мое устройство ждет тишину в линии в течение заданного времени, потом break + специальную последовательность символов для возврата в командный режим. Как оказалось такое решение неудачное. Понадобилась работа через разнотипные интерфейсы: usb-serial, bluetooth-serial, tcp-serial и даже через радиомодем. Ни break ни смену четности ни времянки между байтами нельзя использовать потому что разнотипные интерфейсы не умеют ничего кроме передачи байт на какой то одной фиксированной скорости и не гарантируют времянки. Таким образом мы имеем абстрактный поток передаваемых и принимаемых байт в которых нужно каким то образом сигнализировать об окончании бинарного обмена при этом не вмешиваясь в бинарные данные. -
Продолжение моего прошлого вопроса. До этого хотел реализовать загрузчик с прошивкой в качестве hex-файла, теперь попытался с бинарным и возникла проблема. "Получать прошивку должен по UART. На данный момент загрузчик успешно выполняет передачу управления основной программе и стирает память по адресу, соответствующему программе, при получении прошивки." Отправляю bin-файл через TeraTerm, контроллер его вроде как получает, но пропускает цикл с записью прошивки, не могу понять почему. Проблема находится где-то в районе "strtoul". Пробовал конец строки, что в буфере, добивать нуль-терминирующим символом - безрезультатно. Прикладываю файл загрузчика, буду благодарен за любую помощь.main.c