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