Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
larry |
17.6.2017, 10:08
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 55 Регистрация: 16.12.2010 Пользователь №: 2274 Спасибо сказали: 8 раз(а) Репутация: 0
|
Добрый день, Форумчане.
Возник вопрос по поводу сигнала errorOccurred. Никак не получается его перехватить - интересует ошибка ParityError. Есть устройство которое шлет 9 бит (знаю, что эта тема уже подымалась и 9 бит это нехорошо, но поставлен перед фактом Смеющийся) и с помощью MarkParity и SpaceParity я отсылаю нужный мне 9ый бит на устройство и все хорошо, но чтобы принять 9ый бит нужно обрабатывать эту ошибку, но этот сигнал никак не испускается и неважно что я задаю в setParity - Mark или Space. Подскажите пожалуйста...Спасибо. Слот error(QSerialPort::SerialPortError) просто выводит номер ошибки, но в него не попадает... Сообщение отредактировал larry - 21.6.2017, 7:42 |
|
|
|
|
Алексей1153 |
17.6.2017, 12:33
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
larry, но как-то тоже требовалось извращение с 9-битным словом сделать. В конце концов разработчик железяки внял разуму и сделал 8 бит, но зато я нашёл следующие рекомендации, как это можно сделать (с чудовищной потерей в скорости обмена, насколько я понимаю)
Link я сам сигналами для порта не пользуюсь, попробуй порядок обработки ошибки примерно такой:
Сообщение отредактировал Алексей1153 - 17.6.2017, 12:35 |
|
|
|
|
larry |
17.6.2017, 15:16
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 55 Регистрация: 16.12.2010 Пользователь №: 2274 Спасибо сказали: 8 раз(а) Репутация: 0
|
Спасибо большое. Буду пробовать.
Сообщение отредактировал larry - 17.6.2017, 15:16 |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 30.12.2025, 6:54 |