Hi, in the writing interrupt mode (ns16550_write_support_int), we have
for (i = 0; i < out; ++i) { set( port, NS16550_TRANSMIT_BUFFER, buf [i]); } Shouldn't we check, before writing to the register for the iterations after the first one, whether the character entered in the FIFO? (otherwise I think the 'for' loop could iterate so fast that the device had no time to process the character) In such a case, something like for (i = 0; i < out; ++i) { /* Wait for transmitter holding register to be empty */ do { status = get( port, NS16550_LINE_STATUS); } while ((status & SP_LSR_THOLD) == 0); set( port, NS16550_TRANSMIT_BUFFER, buf [i]); } would be better? Thanks, Daniel. -- Daniel F. Gutson Chief Engineering Officer, SPD San Lorenzo 47, 3rd Floor, Office 5 Córdoba, Argentina Phone: +54 351 4217888 / +54 351 4218211 Skype: dgutson _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel