andreal 0 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба Всем привет! Контроллер прошивается на языке высокого уровня c++. в нем у меня есть класс, который полностью надо передать на компьютер через uart, т.е com порт. Для этого мой класс надо сериализовать как я правильно понимаю в поток байт. 1) Во что серриализовать? XML, просто набор символов, двоичнный набор байт? 2) Какие средства с открытым кодом на сях можно встроить в мой код, чтобы производил серриализацию из п1. Тут можно впринцепе и ручками все сделать, если определиться с первым пунктом, но все же хотелось бы уже готовое решение. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 17 октября, 2011 Опубликовано 17 октября, 2011 (изменено) · Жалоба ...Во что серриализовать? XML, просто набор символов, двоичнный набор байт?... тут мне кажется принципиальной разницы нет. критерии просты: 1) готовность МК прошивки поддержать "говорливый" протокол. 2) удобство контроля обмена по ком порту, обычными штатными средствами форточек. 3) в будущем, связка поинт ту поинт останется? или потребуется многое ко многому? (или по другому) Будет ли необходимо переделывать протокол, при использовании других каналов связи? ответив на эти вопросы, вы найдёте сами ответ. (круглый) Изменено 17 октября, 2011 пользователем kolobok0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 17 октября, 2011 Опубликовано 17 октября, 2011 · Жалоба тут мне кажется принципиальной разницы нет. критерии просты: ... А я так вообще не понял о чем речь. Что такое сериализация класса вне контекста среды разработки? Форматы сериализации вроде никто не публикует и не описывает. Придумывать собственную сериализацию для сторонней среды разработки мне кажется вообще не реализуемой задачей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha 0 18 октября, 2011 Опубликовано 18 октября, 2011 · Жалоба Как я понял, надо организовать пакетную передачу данных? Завести признак начала данных и контролную сумму в конце пакета данных? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 20 октября, 2011 Опубликовано 20 октября, 2011 · Жалоба ...Что такое сериализация класса вне контекста среды разработки?... при чём тут среда(четверг, тяпница) разработки? или что Вы имеете ввиду под термином "среда разработки"? вот чтиво на вечер: Сериализация если совсем в двух словах: сериализация = преобразования структуры данных, в поток данных. От среды разработки это апсолютно НЕ зависит. можно написать сериализацию на си плас плас, можно на яве, можно на азме, можно на фортране - похрену... что вы отождествляете со структурой данных - это уже другой вопрос. можно объект, набор данных или ышо что - пофигу... (круглый) ..надо организовать пакетную передачу данных? Завести признак ... контролную сумму... Вы чего народ? вопрос от TC под свои знания, что ли подгоняете? вопрос же конкретный был. не в курсах - не отвечай. копни поисковик, если интересно. (круглый) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shaeto 0 28 ноября, 2011 Опубликовано 28 ноября, 2011 · Жалоба учитывая что вопрос про c++ обычно сериализация идет через класс потока, напишите или используйте любой готовый примитивный поток для передачи основных типов данных с указанием в потоке размерности и типа. собственно это и заменит xml. если уж совсем хочется универсальности то гоните все через хэш типа "имя"="значение", и разбираете на входе по именам. в таком случае поток должен уметь преобразовывать основные типы в строки ну и естественно строки посылать. crc8 хорошо бы добавить. то есть поток будет выглядеть как то так: 1. crc8 [длина строки имени] [строка имени] [длина строки значения] [строка значения] ..... достаточно удобный правда и медленный способ, но уж во сто крат быстрее любого xml. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 29 ноября, 2011 Опубликовано 29 ноября, 2011 · Жалоба crc8 хорошо бы добавить. Я бы поставил тип CRC в зависимость от общей длины сообщения, допустим, до 32 байт рулит ЦРЦ8, а далее - ЦРЦ16. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shaeto 0 29 ноября, 2011 Опубликовано 29 ноября, 2011 (изменено) · Жалоба не думаю что есть смысл усложнять, можно просто использовать crc-16 как основной, если уж речь шла изначально про xml то явно ничего один дополнительный байт не испортит :) Изменено 29 ноября, 2011 пользователем Shaeto Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться