Sdpo soros komponens tuning
- Gábor
-
- Adminisztrátor
-
- Hozzászólások: 436
- Karma: 8
- Köszönetek: 70
Gábor válaszolt a témára: Sdpo soros komponens tuning
Üdv!
Az op.rendszerek rendszermagjai a hardveres megszakításokat használhatják a hardveres események elkapására, de a felhasználói programok ezt többnyire nem tehetik meg, ezért lényegében a op.rendszer által biztosított lehetőségeket kell használniuk. Az op.rendszerek a beállításoktól és az eszközöktől függően általában pufferelnek bizonyos portokra érkező adatokat.
A soros portra bármely irányból érkező adatok kezelésében nem csak a lassúság, hanem esetenként a túl nagy sebesség is gondot okozhat:. az adatok feltorlódása a rendszer pufferében a kommunikáció megállását okozhatja vagy ha az egyik oldal kontroll nélkül küldi a jeleket (pl.: soros portra csatlakoztatott egér) akkor a másik oldal lemaradhat a jelsorozat egy részéről.
A letöltőközpontban található példaprogram a SynaSer unit-ot használja a Byte alapú műveletek végrehajtására, mely természetesen támogatja nagyobb adatcsomagok (integer vagy akár string) beolvasását és írását is. Azt nem ígérem, hogy a kommunikáció gyorsabb lesz, de egy próbát megér.
Az Ararat Synapse letölthető innen (SVN tároló): https://sourceforge.net/p/synalist/code/HEAD/tree/ (a /synapse a legutóbbi stabil, a /trunk a fejlesztői változat)
FPC/Lazarus wiki cikk: http://wiki.freepascal.org/Synapse
Az eredeti honlap: http://www.ararat.cz/synapse/
Az op.rendszerek rendszermagjai a hardveres megszakításokat használhatják a hardveres események elkapására, de a felhasználói programok ezt többnyire nem tehetik meg, ezért lényegében a op.rendszer által biztosított lehetőségeket kell használniuk. Az op.rendszerek a beállításoktól és az eszközöktől függően általában pufferelnek bizonyos portokra érkező adatokat.
A soros portra bármely irányból érkező adatok kezelésében nem csak a lassúság, hanem esetenként a túl nagy sebesség is gondot okozhat:. az adatok feltorlódása a rendszer pufferében a kommunikáció megállását okozhatja vagy ha az egyik oldal kontroll nélkül küldi a jeleket (pl.: soros portra csatlakoztatott egér) akkor a másik oldal lemaradhat a jelsorozat egy részéről.
A letöltőközpontban található példaprogram a SynaSer unit-ot használja a Byte alapú műveletek végrehajtására, mely természetesen támogatja nagyobb adatcsomagok (integer vagy akár string) beolvasását és írását is. Azt nem ígérem, hogy a kommunikáció gyorsabb lesz, de egy próbát megér.
Az Ararat Synapse letölthető innen (SVN tároló): https://sourceforge.net/p/synalist/code/HEAD/tree/ (a /synapse a legutóbbi stabil, a /trunk a fejlesztői változat)
FPC/Lazarus wiki cikk: http://wiki.freepascal.org/Synapse
Az eredeti honlap: http://www.ararat.cz/synapse/
- Athomas
-
- Moderátor
-
- Sör, virsli, Lazarus
- Hozzászólások: 46
- Köszönetek: 0
Athomas létrehozta a témát: Sdpo soros komponens tuning
Sziasztok!
Az a problémám hogy az sdpo soros komponens használatakor mind adáskor mind vételkor várakozni kell az adatok beérkezésére vagy kimenetelére szerintem indokolatlanul hosszú idöt. 115200 bps-en, 10bájt adat megérkezésére nem tudok 10ms alá menni, ami rettenetesen lassítja a komunikációt. Az adatok számítás alapján 860us alatt átmennek, de a bufferböl nem tudom hibátlanul kiolvasni öket ha nem várakozok legalább 10ms-ot. Valakinek van ötlete hogyan lehetne gyorsítani, vagy más soros komunikációs megoldást tudna javasolni?
Az a problémám hogy az sdpo soros komponens használatakor mind adáskor mind vételkor várakozni kell az adatok beérkezésére vagy kimenetelére szerintem indokolatlanul hosszú idöt. 115200 bps-en, 10bájt adat megérkezésére nem tudok 10ms alá menni, ami rettenetesen lassítja a komunikációt. Az adatok számítás alapján 860us alatt átmennek, de a bufferböl nem tudom hibátlanul kiolvasni öket ha nem várakozok legalább 10ms-ot. Valakinek van ötlete hogyan lehetne gyorsítani, vagy más soros komunikációs megoldást tudna javasolni?