QSerialPort и Parity |
Здравствуйте, гость ( Вход | Регистрация )
QSerialPort и Parity |
TestUser013 |
11.8.2014, 16:30
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 11.8.2014 Пользователь №: 4208 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток.
Пытаюсь разобраться с СОМ портом. Возникла проблема... Нужно отправлять байты изменяя бит четности. Если верить документации, то следующий код должен отправить байт 08 сначала с битом четности 1, а потом с битом четности 0.
В PlainText выводится верная информация Цитата Parity 5. Packet send. Size = 1 byte. Parity 4. Packet send. Size = 1 byte. А вот на экране осциллографа совсем другая ситуация. Вот фотография, когда сначала идет Mark, а потом Space. Вот фотография, когда сначала идет Space, а потом Mark. Если посылать в режиме только Mark или только Space, то все хорошо. Вот фото. Mark: Space: Собственно 2 вопроса, почему так происходит и как правильно сделать? |
|
|
TestUser013 |
12.8.2014, 12:15
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 11.8.2014 Пользователь №: 4208 Спасибо сказали: 0 раз(а) Репутация: 0 |
Разобрался. Если кому-то пригодится привожу ответ.
Метод port.write() гарантирует только то, что данные будут записаны во внутренний буффер класса, и все. Реальная отправка будет позже. В приведенном коде метод on_pushButton_clicked() отправит сразу два пакета с паритетом SpaceParity. Т.к. цепочка из двух port.write(paket) просто добавит данные во внутренний буффер класса (т.е. там будет два пакета сразу). И по выходе из on_pushButton_clicked() отправятся все данные сразу (с SpaceParity - т.к. он был последним). Разобрался. Если кому-то пригодится привожу ответ. Метод port.write() гарантирует только то, что данные будут записаны во внутренний буффер класса, и все. Реальная отправка будет позже. В приведенном коде метод on_pushButton_clicked() отправит сразу два пакета с паритетом SpaceParity. Т.к. цепочка из двух port.write(paket) просто добавит данные во внутренний буффер класса (т.е. там будет два пакета сразу). И по выходе из on_pushButton_clicked() отправятся все данные сразу (с SpaceParity - т.к. он был последним). |
|
|
Текстовая версия | Сейчас: 25.4.2024, 2:06 |