[lkml]   [1996]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Re: serial ports
: even if you try to poll all the ports when you get an interrupt, this
: doesn't work very well above 12 ports or so. The problem is that in the
: time that it takes to scan all 12 ports, a character can come in the
: first port, which will get missed, so that when you return from the
: interrupt handler, the interrupt for the first port gets missed, and
: that first port will start dropping characters.

If you dont have the electrical problem (all ports on the same board designed
for sharing IRQs) then you can pull the following trick: When you enter the ISR
disable interrupts from the comm ports you want to service (on the comm port, *not*
the PIC). Then service all your ports. When you leave the ISR, re-enable ints
on the comm port , this should give you a new "edge" for the PIC and you dont miss
the interrupt. This assumes the PIC was software "acked" at the beginning when the c com port ints were disabled.

 \ /
  Last update: 2005-03-22 13:38    [W:0.016 / U:1.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site