-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Guennadi Liakhovetski wrote: > On Mon, 18 Jun 2007, Alexander Aganichev wrote: > >> I found that driver not transmit anything in interrupt driving mode >> unless I made the following patch: >> >> Index: packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c >> =================================================================== >> RCS file: >> /cvs/ecos/ecos/packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c,v >> retrieving revision 1.14 >> diff -u -r1.14 ser_16x5x.c >> --- packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c 27 Nov >> 2006 13:59:50 -0000 1.14 >> +++ packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c 18 Jun >> 2007 12:21:30 -0000 >> @@ -516,6 +516,7 @@ >> HAL_READ_UINT8(base+REG_ier, _ier); >> _ier |= IER_XMT; // Enable xmit interrupt >> HAL_WRITE_UINT8(base+REG_ier, _ier); >> + (chan->callbacks->xmt_char)(chan); // <<<<<< >> } >> >> // Disable the transmitter on the device >> >> Am I right to make this change or I just missed another process that >> should call xmt_char? I'm using LPC2294 based board and use this >> driver for the UART1. > > It looks like eCos uses the usual UART sending procedure - enable tx-empty > (IER_XMT) interrupt and return, then the interrupt should trigger as soon > as tx is empty / tx fifo can take more data, and you write more data in > your interrupt handler to the port. The fact it doesn't work for you means > most probably that you're not getting tx-empty interrupts, and, perhaps, > no UART interrupts at all.
In my experience, this [incorrect] behaviour is not all that uncommon. I think that a CDL controlled option to enable this initial "push" (although I'd call it 'priming') is the correct fix. Alexander, please provide a proper patch, along with ChangeLog entry to [EMAIL PROTECTED] We'll review and apply as appropriate. - -- - ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world - ------------------------------------------------------------ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iD8DBQFGd70vmaKbSsQGV8ARAqFQAJ0dpBdJMlwo04vgESqSK+W6dNW1yACdFhjf hBhKas2iXs6VTrU69HNeqtw= =7V3c -----END PGP SIGNATURE-----