[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