crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Сигнал QIODevice::bytesWritten(), Точнее, интересует, как работает запись в QSerialPort
Анна
  опции профиля:
сообщение 1.11.2013, 10:08
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

Спасибо сказали: 30 раз(а)




Репутация:   4  


Ситуация: записываю в порт большой массив длиной N, и жду сигнала bytesWritten(qint64).
Вопрос: что делать, если сигнал вернёт значение M, меньшее N?
1. ждать , когда прийдёт сигнал о записи остатка?
2. повторно записать остаток массива N-M? (Например, это случай, когда N превысила размер буфера порта)

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Анна
  опции профиля:
сообщение 7.11.2013, 13:46
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

Спасибо сказали: 30 раз(а)




Репутация:   4  


kuzulis, спасибо за информацию. Из из текста документации это место не совсем понятно. Мало того, write возвращает всегда то число байт, которое в него положили, что несколько сбивает с толку, так как в документации написано, что возвращает количество "were actually written".
Litkevich Yuriy, так и сделала.

Сообщение отредактировал Анна - 7.11.2013, 13:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 0:36