Aktywne Wpisy

Lolenson1888 +595
Mówcie co chcecie, najlepszy polski komentator obecnie.
Nadąża za wydarzeniami na boisku, rzuca ciekawostkami. Płynny komentarz z nutką ironii.
Nalepką na ubikację jarają się tylko Mariusze
#mecz
Nadąża za wydarzeniami na boisku, rzuca ciekawostkami. Płynny komentarz z nutką ironii.
Nalepką na ubikację jarają się tylko Mariusze
#mecz
źródło: E6E2871D-7403-44FB-89CD-15EBE76ACCC7
Pobierz
donalejd +91
Co zabiło ten fantastyczny system? Dzisiaj tylko iphone albo samsung :/
#windowsphone #nokia #kiedystobylo #technologia
#windowsphone #nokia #kiedystobylo #technologia
źródło: Screenshot 2024-07-10 at 20.16.39
Pobierz




#programowanie #cpp #qt
QSerialPort::readyReadEDIT: w sumie to nie wiem jak odczytujesz potem te dane bez podpięcia się pod ten sygnał, ale może po prostu wywal tego waita?
EDIT: oczywiście sprawdzasz przy odbieraniu każdej odpowiedzi
EDIT2: licznik przydałby się jakiś atomowy
devices=new QSerialPort(this).
Wtedy robię taki myk:
connect(devices, SIGNAL(readyRead()), this, SLOT(proceedRead()))
Wszystko pięknie działa. Niestety jak zrobię obiekt devices w formie tablicy dynamicznej to dupa blada i funkcja proceedRead się nie wywołuje.
devices=new QSerialPort[rozmiar]
Jak to ugryźć? Robię tablicę dynamiczną bo nie wiem ile urządzeń zostanie podłączonych.
Jednak czekanie na cokolwiek co może zawiesić UI powinno być robione przez sygnały.
QSerialPort::readyReadzgłasza ci że są nowe dane, ale nie robi tego gdy obsługujesz więc bezpiecznie niczego nie pominiesz. Jeżeli nie czytasz wszystkiego co już przyszło poprzezreadAll()to by nie zawiesić wątku powinieneś sprawdzić ile możesz odczytać poprzezbytesAvailable(), albocanReadLine()gdy czytasz poprzezreadLine(). Pamiętaj też że jeżeli dwie paczki przyjdą jedna po drugiej a ty nie zdążysz obsłużyć readyRead to twoja funkcja nie będzie wykonana dwa razy dlatego powinieneś obsłużyć tyle paczek czy lini ile możesz.Nie możesz mieć pewności że sygnały będą po kolei, ale wiesz co za obiekt wywołał ten sygnał poprzez metodę
sender()i sobie odpowiednio to obsłużyć.Przykladowo zapisać te dane i jak