Я новичок в Qt и испытываю некоторые проблемы при использовании Qserialport. Мне нужно получить и управлять пакетами данных с автопилота и показать их на своего рода компасе. , но я не знаю, как получать данные в потоке и использовать их в моей основной программе. Я знаю, как использовать Qserialport, и раньше я использовал thread. но теперь я не знаю, как правильно их использовать. Мне действительно нужен пример кода. любой ответ может помочь. и извините, если мой английский язык не так хорош.Qt - как читать данные из последовательного порта в потоке
0
A
ответ
1
Данные можно считывать асинхронным способом. Просто подключите сигнал readyRead()
от QSerialPort
к слоту. readyRead()
испускается всякий раз, когда новые данные доступны:
connect(&serial, SIGNAL(readyRead()), this, SLOT(readData()));
readData()
слот, который вызывается каждый раз, когда QSerialPort
излучает readyRead()
сигнал. readData()
присоединяет любые доступные данные члену в QByteArray
класса:
void MyClass::readData()
{
receivedData.append(serial.readAll());
if(receivedData.count()>=someAmount)
{
//Use data and remove used data from receivedData
...
}
}
Смежные вопросы
- 1. Как читать данные последовательного порта с JavaScript
- 2. Ошибки последовательного порта Qt - данные не читаются
- 3. Как читать и записывать из последовательного порта
- 4. Связь последовательного порта в Qt
- 5. Как читать из последовательного порта linux ....
- 6. Как читать данные из последовательного порта в vb.net?
- 7. Мусорные данные из последовательного порта
- 8. Arduino - Как читать строку из последовательного порта
- 9. Данные последовательного порта считаются
- 10. Arduino не может читать из последовательного порта
- 11. Фрагментированные данные последовательного порта
- 12. Как непрерывно читать из последовательного порта в Matlab?
- 13. Отображать данные из последовательного порта в jTable
- 14. Входные данные из последовательного порта в Excel
- 15. Ожидающие данные из последовательного порта в C#
- 16. Выбор последовательного порта в Qt (Linux)
- 17. Как читать данные с последовательного порта SICK LMS200?
- 18. Как читать из последовательного порта с помощью xpcom из Firefox?
- 19. Аномальный выход при чтении из последовательного порта в QT
- 20. Как читать из последовательного порта на веб-странице
- 21. данные, получаемые из последовательного порта через WPF
- 22. Больше не получать данные из последовательного порта?
- 23. Получение байтов из последовательного порта
- 24. Данные порта последовательного порта малины ошибочны
- 25. Не удалось получить данные из последовательного порта
- 26. C#, mssing некоторые данные из последовательного порта?
- 27. Чтение из последовательного порта, когда имеются данные
- 28. Чтение ввода-вывода последовательного порта Java
- 29. скрученный python: прерывание последовательного порта читать
- 30. Как считывать данные из последовательного порта в R
спасибо за ответ, что это действительно помогает. но у меня есть другой вопрос. когда я использую readAll(), он будет считывать все входящие данные и хранить их в QbyteArray, правильно? теперь как я могу управлять этими данными и передавать некоторые байты из них в мои основные параметры программы? – 2014-09-23 06:52:01
Да, вы прочитали все данные и сохранили их в 'QByteArray'. Что вы подразумеваете под «основными параметрами программы»? – Nejat
пакет дырок, считываемый в потоке и хранящийся в QByteArray. теперь мой вопрос заключается в том, как я могу управлять этим, например, 48-байтовыми пакетными данными и передать 4 байта из него, например, поплавком в моем пользовательском интерфейсе? – 2014-09-23 07:37:13