Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

(+)

Отправлено serge_mok 14 марта 2007 г. 13:19
В ответ на: Modbus может работать в 2 режимах - RTU и ASCII... отправлено <font color=gray>Chip'n'Go</font> 14 марта 2007 г. 12:08

Сам стандарт ..адрес устройства,кол.байт..CRC...бог с ним, не в этом вопрос.
А если я хочу передать число 0,- функция Write(...) это не передаст, так как 0 это конец посылки.
..чтоб понятнее было:

3.1 Метод передачи байта "Тетрада-в-ASCII-символ"
Передающее устройство должно преобразовать каждую тетраду исходного сообщения в ASCII cимвол, в зависимости от требуемого формата передачи байта закодированный 7-ми или 8-ми битовым кодом, добавить или не добавить к нему соответствующий бит четности, и снабдить каждый пересылаемый байт старт-битом и соответствующим количеством стоповых бит.
В задачу данного уровня входит преобразование "чистой" двоичной информации в допустимые для передачи по каналу ASCII-символы.
Выбран вариант кодирования тетрад, позволяющий нам иметь
собственное адресное пространство, которое не зависит от адресного пространства чужих приборов. Тетрады кодируются следующим образом:

0000 -> 'G' = 0x47
0001 -> 'H' = 0x48
0010 -> 'I' = 0x49
0011 -> 'J' = 0x4a
0100 -> 'K' = 0x4b
0101 -> 'L' = 0x4c
0110 -> 'M' = 0x4d
0111 -> 'N' = 0x4e
1000 -> 'O' = 0x4f
1001 -> 'P' = 0x50
1010 -> 'Q' = 0x51
1011 -> 'R' = 0x52
1100 -> 'S' = 0x53
1101 -> 'T' = 0x54
1110 -> 'U' = 0x55
1111 -> 'V' = 0x56

На приемной стороне после отбрасывания символов начала и конца кадра производится обратное преобразование ASCII байтов в тетрады с последующим "склеиванием" каждой пары тетрад в полноценный байт двоичной информации. На этом этапе избыточность можно использовать для дополнительного контроля правильности приема, поскольку все символы, не входящие в набор из 16-ти вышеперечисленных, являются ошибочными, символы с не совпавшей вычисленной и переданной четностью также являются сбойными.


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 97:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru