|
RS232 9-ти битный формат, RS232 9-ти битный формат |
|
|
|
Apr 4 2007, 21:23
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 9-04-06
Пользователь №: 15 961

|
В микроконтроллерах в модуле UART есть 9-ти битный адресный режим. Кто-нибудь пробовал организовать связь, используя этот режим между ПК и контроллером? Непонятно как настроить такой режим последовательного порта компьютера. Между двумя контроллерами все ок, но нужно связать с ПК. Заранее благодарен за дельные советы.
|
|
|
|
|
 |
Ответов
|
Apr 5 2007, 18:12
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Идея использовать 9-й бит, конечно заманчива, но почитайте историю наступания на данные грабли. Предположим, возьмем Виндоуз ХР. Все будет работать, при соблюдении двух условий: если порт открыт, как overlapped и... система достаточно чистая. Алгоритм следующий: 1. Инициализируем DCB как 9 бит с пробелом. 2. Пишем в порт 1 байт. 3. Опять переиниализируем DCB как 9 бит, но уже с маркером. 4. Пишем данные. Можно еще лапкой дергать RTS для управления 485 драйвером, все работает. Но. Если не дай бог, на машине вдруг будет установлен модем, либо драйвер считывателя штрих-кодов, либо виртуальный КОМ, начинается развлекуха. Порт на таком алгоритме просто виснет. В логах системы появляется сообщение, что драйвер устройства выполнил некорректную операцию и выгружен. КОМ порт исчезает из системы. Обойти эту залипуху можно, если между вторым и третьим пунктом воткнуть операцию Sleep(1); Пауза между первым(адресным) байтом и остальным пакетом составляет 5-20 мСек, а если запущен Winamp, то и все 50. Посему я расслабился использовать этот способ адресации на компортах и никому бы не советовал напрягаться. Проще использовать механизм от MODBUS.
Sorry, поправка, я пробел с маркером перепутал.
|
|
|
|
Сообщений в этой теме
Microdevice RS232 9-ти битный формат Apr 4 2007, 21:23 zltigo Цитата(Microdevice @ Apr 4 2007, 20:23) Н... Apr 4 2007, 21:33 Microdevice Цитата(zltigo @ Apr 4 2007, 22:33) Никак,... Apr 4 2007, 22:09  zltigo Цитата(Microdevice @ Apr 4 2007, 21:09) П... Apr 4 2007, 22:22   Microdevice Цитата(zltigo @ Apr 4 2007, 23:22) Про ка... Apr 4 2007, 22:26    zltigo Цитата(Microdevice @ Apr 4 2007, 21:26) А... Apr 4 2007, 22:40 rezident Цитата(zltigo @ Apr 5 2007, 00:33) Никак,... Apr 4 2007, 22:09  Microdevice Цитата(rezident @ Apr 4 2007, 23:09) Анал... Apr 4 2007, 22:19 Microdevice И чем мне это поможет? Мне нужно как-то портом опе... Apr 4 2007, 22:53 zltigo Цитата(Microdevice @ Apr 4 2007, 21:53) И... Apr 4 2007, 23:13 Microdevice Нужно передать 2 байта. В первом 9-й бит (понятно ... Apr 4 2007, 23:27 zltigo Цитата(Microdevice @ Apr 4 2007, 22:24) В... Apr 4 2007, 23:33 Microdevice Можно поподробнее? Начало пакета знаем (2 по 9 бит... Apr 4 2007, 23:52 zltigo Цитата(Microdevice @ Apr 4 2007, 22:46) П... Apr 4 2007, 23:59 rezident zltigo, да не запутывайте вы окончательно товарища... Apr 5 2007, 00:24 Microdevice Спасибо всем откликнувшимся. Будем изучать материа... Apr 5 2007, 10:49 OgRom Мы наступали на подобные грабли.
(В качестве 9 бит... Apr 5 2007, 12:55 Microdevice Цитата(OgRom @ Apr 5 2007, 13:55) Мы наст... Apr 5 2007, 13:43  OgRom Цитата(Microdevice @ Apr 5 2007, 14:43) П... Apr 5 2007, 14:03 muravei Может, я чего не понимаю, но почему нельзя програм... Apr 5 2007, 20:35 zltigo Цитата(muravei @ Apr 5 2007, 19:35) Тупо ... Apr 5 2007, 20:39  muravei Цитата(zltigo @ Apr 5 2007, 21:39) Расска... Apr 5 2007, 20:43   zltigo Цитата(muravei @ Apr 5 2007, 19:43) Escap... Apr 5 2007, 20:55    muravei Цитата(zltigo @ Apr 5 2007, 21:55) А что ... Apr 6 2007, 09:23     xemul Цитата(muravei @ Apr 6 2007, 09:23) Не Br... Apr 6 2007, 09:39     zltigo Цитата(muravei @ Apr 6 2007, 08:23) Не Br... Apr 6 2007, 10:20 oran-be Вообще то для любителей тупо подергать за порт под... Apr 6 2007, 10:42 muravei Цитата(zltigo @ Apr 6 2007, 11:20) Set и ... Apr 6 2007, 11:15 zltigo Цитата(muravei @ Apr 6 2007, 10:15) ...до... Apr 6 2007, 11:34  muravei Цитата(zltigo @ Apr 6 2007, 12:34) Это пр... Apr 6 2007, 13:31   zltigo C передачей полагаю уже выяснили - если вдруг с ка... Apr 6 2007, 13:42   Сергей Борщ Цитата(muravei @ Apr 6 2007, 12:31) Кстат... Apr 9 2007, 23:39    muravei Цитата(Сергей Борщ @ Apr 10 2007, 00:39) ... Apr 10 2007, 15:18     Сергей Борщ Цитата(muravei @ Apr 10 2007, 14:18) А ка... Apr 10 2007, 15:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|