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:

Munka a com port c ablakokban, blablacode

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.

Kapcsolódó cikkek