[pso] [Tema2][Linux]Citire din handler
Razvan Deaconescu
razvand at cs.pub.ro
Thu Apr 26 18:31:58 EEST 2007
Costin Boldisor wrote:
> In handler, daca trebuie citit de pe seriala, am cum sa-mi dau seama
> cati bytes sunt disponibili
> (in bufferul UART)?
>
> Gasisem pe net ca in Line Status Register, bitul 0 (Data Ready) ar
> trebui sa-mi spuna cand sunt date disponibile.
bitul DATA_READY iti spune daca ai sau nu date disponibile
in cazul in care primesti o intrerupere de read (RDAI) va trebui sa faci
ceva de genul:
while (lsr_had_data_ready_bit_set) {
read from fifo;
copy in kernel buffer;
}
> Problema mea este ca la read in handler reusesc sa citesc niste bytes
> (20-30), pe care ii scriu in user space, dupa care nu
> imi mai intra in handler.
> Puteti sa-mi dati vreo idee? :)
incearca sa fortezi reaparitia intreruperilor prin reactivarea lor
(setarea bitilor corespunzatori din IER)
Razvan
More information about the pso
mailing list