[elektro] RS232 es a Window 8.x

Moravcsik Szilard levlista.mszilard at gmail.com
Tue May 20 09:33:01 CEST 2014


Szia!

2014.05.20. 8:39 keltezéssel, Skandar Graun írta:
> .NET-et felejtsd el, mi megszívtuk vele.

Pedig milyen kényelmes lenne... nekem! :)

> 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.
>

Aha! Innen kezd érdekes lenni a dolog.
A PureBasic direktben kezelte/kezeli a soros portot? Mennyire ismered?

Üdv:
Szilárd


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



More information about the Elektro mailing list