seriovy port
PD
medisoft
Středa Březen 17 11:51:36 CET 2004
Mozno skusit pod DOS-om :-). Ten nie je multitaskovy, takze sa nestane, ze
ked prichadzaju data, nema ich kto zobrat z buffra, lebo prave bezi ina
uloha.
Riesenie moze byt vo vyssej priorite obsluzneho programu, v zvacseni buffra,
ked sa to v tom unixe da, alebo v napisanidriveru, ktory bude zaveseny
priamo na prerusenie...
Problem moze byt aj v samotnej aplikacii - ked spracovanie bytu trva dlhsie,
ako jeho prijem (t.j. cca. 0,3 ms), musi vzniknut problem.
>
> Robim si pod unixom (FreeBSD) program, ktory stahuje data z externeho
> zariadenia pripojeneho na seriovy port (prepojenie je cez HIN232CP). Ide o
> toto:
>
> - na pocitaci P120 to spravne funguje do rychlosti 38400, pri vyssich
> rychlostiach sa stracaju bajty (cim rychlejsie, tym viac)
> - na PIII 600 to prebehne v pohode na vsetkych rychlostiach
>
> Podobna aplikacia, ale pod Win98, robila tiez problemy na dvoch roznych
> pocitacoch so starsimi Pentiami (120,133) a koncila s hlaskou "Buffer
> empty". Znamena to, ze starsie pocitace nejak nestihaju spracovavat data
> prichadzajuce na seriovy port velkou rychlostou? Pod win som skusal rozne
> nastavenia bufferov na UART16550, ale bez zmeny.
>
> Da sa to nejak vyriesit, alebo sa musim uspokojit s nizsou rychlostou?
>
Další informace o konferenci Hw-list