Re: MCF8252 UART using interrupts for Rx
"Marc Vincent" <[email protected]> Tue, 1 Jul 2008 12:39:18 -0400
| Newsgroups | gmane.comp.hardware.motorola.microcontrollers.coldfire |
|---|---|
| Message-ID | <[email protected]> |
Hi Victor. The MCF5282 UARTs don't have a 16-deep FIFO like the 16550; you don't get interrupts based on FIFO 3/4 full. If you enable RX ints, you get an IRQ as soon as the first incoming character is transfered from the shift register to the receive data buffer. The receive FIFO is 4-deep, so your interrupt latency has to be less than 4 x (#bits/char) / baudrate. You also don't get a "receive timeout" interrupt, this is not a 68302 or a QUICC :-( On the other hand, if you know the expected receive buffer length, you can program a DMA channel to retrieve characters from the UART's receive data buffer on a RX event and get interrupted at the end of the DMA transfer. Hope this helps. Marc Vincent PS: I'm assuming you're at siamtec. If so, pls say SALUT to Pierre M. for me and have him give me a shout if any of this does not make sense. You may remember me or not, I'm a STAS and NTC alumni... On Mon, Jun 30, 2008 at 2:57 PM, Victor Remete <[email protected]> wrote: > -------------------------------------------------------------- > From: Victor Remete <[email protected]> > To: [email protected] > Subject: MCF8252 UART using interrupts for Rx > > I would like to use the UARTs in the MCF8252 using interrupts. > How do I program the UART for reception so that I get an interrupt > 1. when the Rx FIFO is 3/4 full (trigger level), or > 2. if no character is received for N character times (timeout, > where N=4 in the National Semiconduction NS16550, but I am > not picky on the value of N as long as it is 2 or more). > > ------------------------------------- > > > --- > [email protected] Send a post to the list. > [email protected] Join the list. > [email protected] Join the list in digest mode. > [email protected] Leave the list. > > --- [email protected] Send a post to the list. [email protected] Join the list. [email protected] Join the list in digest mode. [email protected] Leave the list.