Caute!
Komunikujem so seriovym portom cez Win32 API funkcie CreateFile(), ReadFile() a WriteFile(). Mam ale jeden problem pri citani cez ReadFile() - tam su mozne 2 sposoby citania (myslim, ze 2, ak nie viac :):
- prvy, ktory blokuje tuto funkciu (tzn., ze program stoji na tom riadku, kde je ReadFile() az ked nieco pride na port, prejde program na dalsi krok - radiok).
- druhy rezim je akysi neblokujuci (napr. cez strukturu OVERLAPPED a CreateEvent()), avsak v tom pripade musim testovat napr. cez Timer, ci nieco neprislo na port. Takto mi to funguje doteraz, no tento sposob sa mi velmi nepaci - neexistuje nejaky lepsi sposob, ako to testovat, ci nieco nepride na port?
Este ma napadla jedna myslienka - pouzit ReadFile() v blokujucom rezime v threade. To by sice aj slo, ale v tejto suvislosti ma napada, ze co ak chcem uzatvorit spojenie a tak ukoncit thread - nebude to drasticke, resp. nebude taketo nasilu ukoncenie vlakna nejake chybne?
Fórum › C / C++
Komunikacia cez RS232 (COM port)
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 50 hostů
Podobná vlákna
Komunikacia zariadenia s RS232 — založil nero150
Ovladanie serva cez paralelny port — založil El_fuego333
Ovladanie pristrojov cez seriovy alebo paralelny port — založil lolik
Komunikácia s webovou DB — založil Binary Ranger
Komunikácia s webovou DB — založil Binary Ranger
Moderátoři diskuze