8 бит + 9 бит и стоповый
8 бит + 9 бит и стоповый
В общем возникла проблема есть устройство в описании протокола написано что отправляют 9 бит подряд. только вот не задача ПК отправляет байт(8 бит) не нашел негде решения, подскажите как отправить данные. Посылаю с ПК по RS485. (Да устройство сделано у нас в России.)
- Реклама
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: 8 бит + 9 бит и стоповый
режим 9-битовой посылки - это стандартный режим работы USART. все оборудование, включая персональные компьютеры и микроконтроллеры, содержащее этот интерфейс, обязано работать с 9-битовыми пакетами. что у вас конкретно не получается?
битва с дураками проиграна, победители торжествуют. слава победителям!
Re: 8 бит + 9 бит и стоповый
Конкретно напишите, что написано.. Просто 9 бит могут означать, что угодно..Astrel писал(а):отправляют 9 бит подряд
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Re: 8 бит + 9 бит и стоповый
Конкретно смогу только утром. Так как описания сейчас нет под рукой. А в интернете оно не валяется как не странно.
Да я в курсе. Конкретно не какой реакции на отправленные данные, думаю что я неправильно отправляю. Возможно что прибор неисправен но сомнительно.Мастер Ломастер писал(а):режим 9-битовой посылки - это стандартный режим работы USART. все оборудование, включая персональные компьютеры и микроконтроллеры, содержащее этот интерфейс, обязано работать с 9-битовыми пакетами. что у вас конкретно не получается?
Re: 8 бит + 9 бит и стоповый
Вот описание протокола. 
- Вложения
-
- Протокол 2.rar
- (12.85 КБ) 145 скачиваний
- Реклама
Re: 8 бит + 9 бит и стоповый
А в каком нить не docx - формате можно выложить, хоть в том-же doc-е..Astrel писал(а):описание протокола
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: 8 бит + 9 бит и стоповый
Девятый бит нужно передавать как бит паритета с фиксированными значениями MARKPARITY или SPACEPARITY. Но под Windows это крайне неудобно, в API можно пользоваться лишь непосредственной передачей байта TransmitCommChar, а не привычным WriteFile.
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: 8 бит + 9 бит и стоповый
а разве в настройках драйвера СОМ-порта нельзя настроить автоматическое вычисление и передачу этого бита?Леонид Иванович писал(а):Девятый бит нужно передавать как бит паритета с фиксированными значениями MARKPARITY или SPACEPARITY. Но под Windows это крайне неудобно, в API можно пользоваться лишь непосредственной передачей байта TransmitCommChar, а не привычным WriteFile.
битва с дураками проиграна, победители торжествуют. слава победителям!
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: 8 бит + 9 бит и стоповый
Так здесь нужно не автоматическое вычисление, а ручное задание.
Re: 8 бит + 9 бит и стоповый
Сохранил в более простом формате RTF.МитяРа писал(а):А в каком нить не docx - формате можно выложить, хоть в том-же doc-е..Astrel писал(а):описание протокола
То есть девятый бит используется как бит паритета и передается с данными? Да TransmitCommChar передает байт, может подскажите решение?Леонид Иванович писал(а):Девятый бит нужно передавать как бит паритета с фиксированными значениями MARKPARITY или SPACEPARITY. Но под Windows это крайне неудобно, в API можно пользоваться лишь непосредственной передачей байта TransmitCommChar, а не привычным WriteFile.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: 8 бит + 9 бит и стоповый
Так я уже подсказал. В протоколе 9-й бит используется не как бит паритета, а для других целей. Но передавать его надо, как бит паритета. Устанавливаете DCB.Parity как Вам нужно, MARKPARITY или SPACEPARITY, передаете байт с помощью TransmitCommChar. 9-й бит в посылке будет определен заданным значением Parity. Затем устанавливаете DCB.Parity по-другому, снова передаете байт. Таким образом можно передавать посылки с любым сначением 9-го бита.
Re: 8 бит + 9 бит и стоповый
Astrel , не надо цитировать, тем более полностью, сообщение на которое сразу за ним отвечаешь..
Форум не резиновый и читать такие темы не удобно.. Привыкай сразу и к правильному..
МитяРа..
Да я так и передавал и не работало, но уже разобрался. Проблема с питанием была как это не смешно, оказывается для питания блоков используется два отдельных питания (я то думал что оно передается раз они соединены между собой)
Всем спасибо, вам особенно Леонид Иванович.
Форум не резиновый и читать такие темы не удобно.. Привыкай сразу и к правильному..
МитяРа..
Да я так и передавал и не работало, но уже разобрался. Проблема с питанием была как это не смешно, оказывается для питания блоков используется два отдельных питания (я то думал что оно передается раз они соединены между собой)


