| @@ -196,23 +196,29 @@ void serial6_format(uint32_t format) | |||
| { | |||
| uint32_t c; | |||
| // Bits 0-2 - Parity plus 9 bit. | |||
| c = LPUART0_CTRL; | |||
| //c = (c & ~(LPUART_CTRL_M | LPUART_CTRL_PE | LPUART_CTRL_PT)) | (format & (LPUART_CTRL_PE | LPUART_CTRL_PT)); // configure parity | |||
| //if (format & 0x04) c |= LPUART_CTRL_M; // 9 bits (might include parity) | |||
| c = (c & ~0x13) | (format & 0x03); // configure parity | |||
| if (format & 0x04) c |= 0x10; // 9 bits (might include parity) | |||
| LPUART0_CTRL = c; | |||
| if ((format & 0x0F) == 0x04) LPUART0_CTRL |= LPUART_CTRL_T8; // 8N2 is 9 bit with 9th bit always 1 | |||
| // c = UART5_S2 & ~0x10; | |||
| // if (format & 0x10) c |= 0x10; // rx invert | |||
| // UART5_S2 = c; | |||
| // Bit 3 10 bit - Will assume that begin already cleared it. | |||
| if (format & 0x08) | |||
| LPUART0_BAUD |= LPUART_BAUD_M10; | |||
| // Bit 4 RXINVERT | |||
| c = LPUART0_STAT & ~LPUART_STAT_RXINV; | |||
| if (format & 0x10) c |= LPUART_STAT_RXINV; // rx invert | |||
| LPUART0_STAT = c; | |||
| // Bit 5 TXINVERT | |||
| c = LPUART0_CTRL & ~LPUART_CTRL_TXINV; | |||
| if (format & 0x20) c |= LPUART_CTRL_TXINV; // tx invert | |||
| LPUART0_CTRL = c; | |||
| #if 0 | |||
| c = UART5_C4 & 0x1F; | |||
| if (format & 0x08) c |= 0x20; // 9 bit mode with parity (requires 10 bits) | |||
| UART5_C4 = c; | |||
| use9Bits = format & 0x80; | |||
| #endif | |||
| } | |||
| void serial6_end(void) | |||