Lazarus 3.2 (2024.02.28.)
Letöltés

  • Oldal:
  • 1

TÉMA:

Sdpo soros komponens tuning 2018 aug. 26 07:55 #2303

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 506
  • Köszönetek: 86
Ü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ó): sourceforge.net/p/synalist/code/HEAD/tree/ (a /synapse a legutóbbi stabil, a /trunk a fejlesztői változat)
FPC/Lazarus wiki cikk: wiki.freepascal.org/Synapse
Az eredeti honlap: www.ararat.cz/synapse/
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 3.0 -- FPC 3.2-- GNU/Linux 5.15.0 x86_64

Sdpo soros komponens tuning 2018 aug. 24 09:57 #2302

  • Athomas
  • Athomas profilkép Témaindító
  • Moderátor
  • Moderátor
  • Sör, virsli, Lazarus
  • Hozzászólások: 46
  • Köszönetek: 0
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?

  • Oldal:
  • 1