[elektro] RS232 es a Window 8.x
Moravcsik Szilard
levlista.mszilard at gmail.com
Tue May 20 09:28:54 CEST 2014
Szia!
2014.05.20. 8:45 keltezéssel, "L. Pásztor" írta:
> Soros vonali hardveres pufferrel.
Nem írtam, de egy (valamilyen) mikrokontrolleres az adatgyűjtő kütyü.
Ez fogja küldözgetni 1ms-onként a 2 byte-os adatot a saját soros portján
keresztül.
> Volt már ilyen, egy drága labor műszerből túl gyors volt a kijövő
> folyam, direktben PC-be bevitt adatok vesztek el.
> Nem tudtunk rájönni miért nem puffereli rendesen a ringyóz.
>
Ettől féltem. :(
Direktben kezeltétek a Win API-t vagy valamilyen beépített komponensen
keresztül (pl. MSComm a VB-ben, stb.)?
> Aztán kapott az RS232 elé egy kis dobozt, benne kis processzorral es
> SRAM-nal fifo-szerű üzemben.
> Onnantól nem volt adatvesztés.
>
A kis "doboz" begyűjtötte az adatokat a pufferbe, majd lassabban
átküldözgette a PC-nek? Esetleg valamilyen kézfogásos módszerrel lett
biztonságosabb a PC felé menő adatforgalom?
Üdv:
Szilárd
> ------------------------
> L. Pásztor
> ------------------------
>
>
> 2014.05.20. 8:28 keltezéssel, Moravcsik Szilard írta:
>> 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