Lazarus 1.8.4 (2018.05.22.)
Letöltés

file Sdpo soros komponens tuning

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 404
  • Karma: 7
  • Köszönetek: 58

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/
#2303
  • Athomas
  • Athomas profilkép
  • Moderátor
  • 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?
#2302