hello,
2006. április 11. 09.46 dátummal Kiss Gabor ezt írta:
> In article <[EMAIL PROTECTED]>,
>
> Zidarics Zoltan <[EMAIL PROTECTED]> writes:
> > Ha a minicom-ban beallitom a hw flow controll-t, akkor megvarja a CTS
> > 1=20 allapotat, de az RTS-t nem mozgatja :(.
>
> Talan arrol van szo, hogy 2400 bps-sel
> nem tudod olyan gyorsan pumpalni az inputot,
> hogy a kernel es minicom ne lenne kepes fogadni
> es lazan lekezelni.
> Van valami bizonyiteka a karaktervesztesnek?
Szkoppal nezem a kimenetet.
A minicomban meg sem mozditja az RTS-t, viszont megvarja a CTS-t az adassal.
A doksi szerint:
CTS=1 eseten a "modem" (DCE) adaskesz. Ezutan a gep (DTE) az RTS=1-el adasba
kapcsolja a modemet, majd elkezd adni. Ezutan az RTS=0 val vetelbe kapcsolja
a modemet. Itt a problema, mivel az ado chip (16550) egy 16 byte-os puffert
hasznal, tehat a programbol nem mondhatod azt, hogy
(*)
-RTS=1
-karakterek a kimenetre
-RTS=0
mivel a karakterek kuldese teljesen aszinkron a kuldo programmal.
Lehetne meg varazsolni az ado puffer ures signalra is, de azt mar akkor kuldi
a chip, amikor az utolso byte-ot kezdi el kitolni.
Ezert lenne jo, ha a kernel kezelne es nem en.
Szkoppal az latszik, ha a (*) kezi metodust csinalom:
_______________
RTS ___| |_________
adat -----<adas>-------<valasz>-----
az adas vege es a valasz eleje kozott cca. 2 mS van, tehat a valasz elejebe
"harap" bele az RTS=0.
Neheziti a helyzetet, hogy ez egy RS485 MODBUS kommunikacio es mint tudjuk a
MODBUS az egyik legostobabb protokoll, mivel a keret elso byte-ja
(RTU modban) az eszkozcim(!). Semmi petting, semmi rakeszules, azonnal a
lenyeg:)
Szerencsere az eszkoz, amivel beszelgetnem kell, csak akkor tud 2mS-on belul
valaszolni, ha hibat jelez.:) Ha megertette a parancsot, akkor neki is ra
kell keszulnie az adasra es akkor 5 mS mulva tud csak valaszolni, tehat ha
tudok olvasni egy hibatlan keretet, az egyben hasznalhato is :)
Mindenesetre, nem tul megnyugtato es szeretnem raszedni a kernelt.
udv,
--
Zoltan Zidarics programmer
PTE University Pecs, Hungary
icq: 43288694
_________________________________________________
linux lista - [email protected]
http://mlf2.linux.rulez.org/mailman/listinfo/linux