[elektro] RS232 es a Window 8.x

Skandar Graun sgraun at gmail.com
Tue May 20 08:39:17 CEST 2014


.NET-et felejtsd el, mi megszívtuk vele.
Lazán elhajigálja az adatokat, ha megtelik a puffere.
USB-soros driverrel a te igényeidnél lassabban ment befelé az adat és csak
hüledeztünk... de a program hibátlanul futott, túlcsordulásnak,
figyelmeztetésnek nyoma nem volt. Igaz, nem volt olyan gyors gép, XP alatt
(ott még jobb volt a perifériakezelés), de csak a végeredményben láttad a
hibát.
A megoldás egy külső perifériakezelő program lett, amit Purebasic-ban
írtam. Igaz, nekünk nem kellett az azonnali feldolgozás, pufferba mentettem.


2014. május 20. 8:28 Moravcsik Szilard írta, <levlista.mszilard at gmail.com>:

> 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
>
>
> -----------------------------------------
>           elektro[-flame|-etc]
>


More information about the Elektro mailing list