Здравствуйте, гость ( Вход | Регистрация )
|
gpepsi |
9.8.2011, 19:57
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 31.3.2010 Пользователь №: 1582 Спасибо сказали: 0 раз(а) Репутация: 0
|
Создавал ли кто свои потоковые устройства ?
Есть несколько вопросов. 1. Есть методы read и write, которые возвращают число байт, которые удалось получить. Но если это, например, сокет, то данные будут фрагментированные и read может вернуть количество байт, огранниченное буфером. Поэтому нужно будет читать пока не вычитали все - или кидать исключение, если что-то не получилось. Есть ли в QT обертки, которые читают пока читается, в зависимости от размера запрошенных данных ? 2. Пытаюсь создать серийный порт на основе QIODevice. Определил readData и writeData. в open открыл порт и выставил нужные параметры. Задал OpenMode == ReadWrite. Достаточно ли этого ? Что еще нужно определить, чтоб работало корректно. И вообще какие методы настоятельно рекомендуется переопределить. |
|
|
|
![]() |
|
PAFOS |
12.8.2011, 8:08
Сообщение
#2
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8
|
kuzulis, почитал инфу по ссылке, проблему понял.
На мой взгляд, менять настройки порта, когда тот открыт вообще нарушение логики. Настройки порта типа скорости, биты данных, четность и т.д. должны выставлять до открытия и не меняться до его закрытия. Так что я бы не счел это за ошибку. Теперь по поводу просьбы: У меня было три устройства (Windows Mobile 6.0, 6.1, 6.5). На всех успешно выполнился следующий код:
Сообщение отредактировал PAFOS - 12.8.2011, 8:09 |
|
|
|
gpepsi QIODevice 9.8.2011, 19:57
kuzulis За Вас уже давно всё сделали, см:
1. QSerialDevic... 10.8.2011, 10:27
gpepsi Цитата(kuzulis @ 10.8.2011, 10:27) За Вас... 10.8.2011, 20:19
kuzulis Ну тогда см. исходники QAbstractSocket/QFile/QLoca... 11.8.2011, 7:37
PAFOS Цитата1. QSerialDevice: https://gitorious.org/qser... 11.8.2011, 7:55
kuzulis ЦитатаХотя бы один из них пробовали собирать под W... 11.8.2011, 8:45
PAFOS У меня целый арсенал Win CE устройств. Только вот ... 11.8.2011, 16:57
kuzulis ЦитатаНа мой взгляд, менять настройки порта, когда... 12.8.2011, 9:16
PAFOS Протестировал.
WaitCommEvent возвращает TRUE если... 18.8.2011, 8:29
kuzulis Ага, понятно. Огромное спасибо!
И вот теперь... 18.8.2011, 10:44
PAFOS попробовал собрать - не вышло.
см. подробности в ... 18.8.2011, 12:21![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 25.12.2025, 0:37 |