Микроконтроллер отправляет через UART-USB преобразователь данные в виртуальный COM порт.
Микроконтроллер отправляет строки вида
uint8_t str[] = "Command received\0";
HAL_UART_Transmit(&huart1, str, 16, 30);
Приложение на PyQt 5 читает строки так:
rx_data = self.serial.readLine()
#rx_data1 = self.serial.readAll()
rx_str = str(rx_data, 'utf-8')# Переводим массив байт в строку
#Помещаем строку в поле для вывода текста
self.plainTextEditLog.appendPlainText(rx_str)
Проблема в том, что строки читаются кусками (частями). Причём части время от времени меняются. Пример вывода в текстовое поле:
C
ommand recei
ved
E
nab
led
C
ommand r
eceived
C
ommand
received
Возможно, нужно добавить символы конца строки \r\n (или какие?), если используется readLine()?
Пробовал читать документацию (например,
эту), искал примеры. Но пока до конца не понял разницу между readLine() и readAll().
Кто знает, подскажите пожалуйста.