Munka a com port c ablakokban, blablacode
Soros portok fejlesztők tetszett azok könnyen karbantartható és használható.
És persze, írjon a konzolra terminál program ez mind jó, de azt akarják, hogy a kérelemben, hogy a billentyűk megnyomásakor a képernyőn végez a kívánt műveletet;)
Ebben a cikkben fogom leírni, hogyan kell dolgozni a com portot a C ++ nyelven.
A megoldás egyszerű, de valamilyen oknál fogva, egy működő példa nem található azonnal. SIM mentse el itt.
Hozzon létre egy új Win32 konzol projekthez.
Inkluda header fájlok:
Állapítsa felvezető com port:
Én ezt globálisan, így nem zavarja a mutató, ha át azt a funkciót.
Akkor kezdjük alkotó fő funkciója:
Utálom vindovsky programozási stílus. Úgy hívják őket a maga módján, és üljön örül.
Munka posledoavatelnymi port a Windows fut, mint egy fájlt. Nyissa meg az első com port olvasási / írási:
Most be kell állítania a kapcsolatot:
MSDN tanácsos először kap a beállításokat, majd módosíthatja azokat. Van még tanulni, úgy a kérésnek.
Most nyilvánítja karakterlánc, amely elmúlik, és a változó szükséges ehhez:
Küldjük a húr. Hadd emlékeztessem önöket, hogy a példa egyszerű, így nincs külön ellenőrzéseket nem teszem:
Én is úgy döntött, hogy visszavonja, hogy ellenőrizzék a sort mérete és a bájtok számát küldött ki:
Végén a program csinál a végtelen ciklus a leolvasási adatok:
Most olvasási funkció:
Ez tulajdonképpen a teljes mintában.
Létrehoztam egy virtuális com port. És szlalom COM1 és COM2:

küldött „Hello C ++” a programból, és „szia how2.org.ua” terminál.
Hello, van egy kis probléma: COM port nem akar működni. A kezdetektől fogva, még mindig nézett ki, mint amit én vízforraló. De nem itt - ez volt! Sokszor próbáltam írni a kódot. A végén, csak le a példát. (I korábban nem volt lehetséges), mi ez? Elindítom a programot példa (anélkül, hogy a kód megváltoztatása), és még mindig nem működik! Csak a hibákat. Azt elnézést a kifejezésért, hülye? Vagy van, hogy - valami baj van? Előre köszönöm!
Köszönöm. Talán az egyetlen kód, amely lezárja a padló rúg.
15 bájt mégegyszer. o)
Lehetséges tenni anélkül, hogy egy végtelen ciklusba, és kezeli az esemény bekövetkeztének adatokat a COM port? Úgy vélem, ez a ciklus tölt sok erőforrást, és hogy valami komolyabb köze a példa nem fog működni.