[elektro] soros port kezelés

Info info at kiralyelektronika.hu
Sat May 11 11:09:50 CEST 2013


> a windowsos részen az IO.DLL helyett mit használnál? :-)

Az io.dll arra való, hogy tégy egy próbát: elkapja-e a rendszer
a közvetlen portelérést. Ugyanis 286-tól fölfele már létezett a
procnak valós x86 módja, ahol a memóriaterületek és a port-
területek csak külön engedéllyel lettek elérhetőek.
Lehet, hogy valami részét beteszi a kernel driver-ek közé,
és kap is rá engedélyt, viszont ekkor még mindíg ott tartunk,
hogy a felhasználónak a 10ms időszeletében kell küzdenie a
hardwer eseményekkel.
Az ilyen portbuzeráló programok tehát csak úgy tudnak működni,
ha illeszkednek a rendszer struktúrájába: kernelszinten futnak,
és IOCTL hívással vagy pipen, vagy osztott memórián keresztül
kommunikálnak.
A levelem a soros port kezeléi problémám miatt írtam eredetileg,
ehhez a win elég sok támogatást ad. Szépen meg lehet nyitni fájlként,
lehet írni/olvasni, vannak eseményei, stb. Szóval azért nem annyira
veszett a helyzet, hogy ilyen io.dll-hez kelljen fordulni.

>> De azért köszi.

>>> IO.DLL a te barátod XP alatt megy delphiből
>>> macerálva, a win7 alatt elvileg lenne IO.DLL

>>> ------------------
>>> program Project2;

>>> {$APPTYPE CONSOLE}

>>> uses
>>>   SysUtils;

>>> procedure  PortOut(Port : Word; Data : Byte); stdcall; external 'io.dll';
>>> function PortIn(Port:Word):Byte; stdcall; external 'io.dll';
>>> begin
>>>   Portout($378,0);
>>>   readln ;
>>> end.
>>> -----------



>>> Info <info at kiralyelektronika.hu> írta, 2013.05.10.:
>>>> Sziasztok !

>>>> Félig elektros téma, delphi/lazarusban progozókhoz szólanék.
>>>> Váltanék pár levelet olyannal aki agyba-főbe ismeri a win
>>>> soros port kezelését. Olyanra gondolok, hogy a driverek évek óta
>>>> nem támogatják az időzítési adatokat, overlapped-alatt használható-e
>>>> a purgecomm (nem vettem észre) és egyéb bufferelési problémák
>>>> előfordulása, mint a késleltetett érkezés események.
>>>> Valamint a portok változásáról szóló wm_configchange
>>>> használhatatlansága hogyan oldható fel...

>>>> Esetleg a w7 alatt konkrétan használható működési leírás
>>>> érdekelne, és akkor kihagyom az xp-t meg egyebeket.

>>>> Thx!
>>>> Béla


>>>> -----------------------------------------
>>>>           elektro[-flame|-etc]

>>> -----------------------------------------
>>>           elektro[-flame|-etc]

>> -----------------------------------------
>>           elektro[-flame|-etc]


> -----------------------------------------
>           elektro[-flame|-etc]



More information about the Elektro mailing list