[elektro] RS232 es a Window 8.x

Moravcsik Szilard levlista.mszilard at gmail.com
Tue May 20 08:28:39 CEST 2014


Sziasztok!

Lesz egy feladatom, ahol egy adatgyűjtő által RS232 porton küldött 
adatokat kell venni, tárolni, kijelezni, stb. Eddig rendben is van a 
dolog, de:

-- a COM port 115200 (esetleg 230400) Bauddal megy, 1 start, 8 adat, 1 
stop bittel;
-- a soros adatok 2 byte-os értékek (leszámítva a fejlécet, stb.);
-- 1ms időközzel követik egymást az adatok (2 byte ki -> 1ms várakozás 2 
byte ki -> 1ms várakozás, stb.);
-- 20 másodpercig megy a történet, 20*1000*2 byte adattal;
-- Windows 8.x (USA verzió, 32 vagy 64 bites) alatt kell venni őket;
-- majdnem valós időben (tehát kb. 1ms körüli idővel) kellene a vett 2 
byte-os adatokkal dolgozni, reagálni rájuk, stb.
-- a felhasznált PC egy mai átlagos, több magos asztali darab lenne (még 
nincs meg);

Ebből nekem leginkább az a kérdés, hogy Windows alatt lehet-e egyáltalán 
ilyen gyors időközzel küldött adatokat kb. valós időben elkapni, azokra 
adott feltétel szerint reagálni, vagy esetleg a Windows 8.x üzenetkezelő 
rendszere erre alkalmatlan (túl lassú ehhez a feladathoz).

A program leginkább Delphi 2005-ben, vagy .NET alatt készülne el 
(ingyenes Visual Studio Express 2013-mal, C#-ban, ha ennek van 
jelentősége). Első körben a fejlesztői rendszerekben komponensekkel 
lenne kényelmes a soros adatokat adni/venni, azok eseménykezelőjét 
felhasználva, ha bírják a komponensek ezt a tempót (Delphi 2005: CPort 
komponens, .NET SerialPort "gyári" osztály).

Ha a komponensekkel túl lassú, esetleg Win API hívásokkal mehetne-e 
valahogy gyorsabban?

Kérdezem azoktól, akik már kitapasztalták a Win és a soros port 
sebességét, hogyan oldottátok meg? :)

Üdv:
Szilárd




More information about the Elektro mailing list