void UART_init() { memset(__uart_vec, 0, sizeof(__uart_vec)); int uc = 0; #ifdef CONFIG_UART1 _UART(uc++)->hw = USART1; UART_config(_UART(uc-1), UART1_SPEED, UART_DATABITS_8, UART_STOPBITS_1, UART_PARITY_NONE, UART_FLOWCONTROL_NONE, TRUE); UART_TX_IRQ_OFF(_UART(uc-1)); #endif #ifdef CONFIG_UART2 _UART(uc++)->hw = USART2; UART_config(_UART(uc-1), UART2_SPEED, UART_DATABITS_8, UART_STOPBITS_1, UART_PARITY_NONE, UART_FLOWCONTROL_NONE, TRUE); UART_TX_IRQ_OFF(_UART(uc-1)); #endif #ifdef CONFIG_UART3 _UART(uc++)->hw = USART3; UART_config(_UART(uc-1), UART3_SPEED, UART_DATABITS_8, UART_STOPBITS_1, UART_PARITY_NONE, UART_FLOWCONTROL_NONE, TRUE); UART_TX_IRQ_OFF(_UART(uc-1)); #endif #ifdef CONFIG_UART4 _UART(uc++)->hw = UART4; UART_config(_UART(uc-1), UART4_SPEED, UART_DATABITS_8, UART_STOPBITS_1, UART_PARITY_NONE, UART_FLOWCONTROL_NONE, TRUE); UART_TX_IRQ_OFF(_UART(uc-1)); #endif }
/* * UART_open( ) * Open UART handle and configure it for 115200 baud * */ Int16 EZDSP5535_UART_open( ) { CSL_Status status; CSL_UartConfig Config; /* * Configuring for baud rate of 115200 * Divisor = UART input clock frequency / (Desired baud rate*16) * = 100MHz / 115200 / 16 * = 54 = 0x36 */ Config.DLL = 0x36; // Set baud rate Config.DLH = 0x00; Config.FCR = 0x0000; // Clear UART TX & RX FIFOs Config.LCR = 0x0003; // 8-bit words, // 1 STOP bit generated, // No Parity, No Stick paritiy, // No Break control Config.MCR = 0x0000; // RTS & CTS disabled, // Loopback mode disabled, // Autoflow disabled status = UART_init(&uartObj, CSL_UART_INST_0, UART_INTERRUPT); hUart = (CSL_UartHandle)&uartObj; status |= UART_reset(hUart); status |= UART_config(hUart,&Config); status |= UART_resetOff(hUart); CSL_SYSCTRL_REGS->EBSR &= ~0xF000; // CSL_SYSCTRL_REGS->EBSR |= 0x1000; // Set parallel port to mode 1 (SPI, GPIO, UART, and I2S2) return status; }
static int f_uconf(int uart, int speed) { if (_argc != 2) { return -1; } if (IS_STRING(uart) || IS_STRING(speed) || uart < 0 || uart >= CONFIG_UART_CNT) { return -1; } UART_config(_UART(uart), speed, UART_DATABITS_8, UART_STOPBITS_1, UART_PARITY_NONE, UART_FLOWCONTROL_NONE, TRUE); return 0; }
/*..........................................................................*/ uint8_t QS_onStartup(void const *arg) { static uint8_t qsBuf[1*1024]; /* buffer for Quantum Spy */ QS_initBuf(qsBuf, sizeof(qsBuf)); /* setup the QS filters... */ QS_FILTER_ON(QS_ALL_RECORDS); // QS_FILTER_OFF(QS_QEP_STATE_ENTRY); // QS_FILTER_OFF(QS_QEP_STATE_EXIT); // QS_FILTER_OFF(QS_QEP_STATE_INIT); // QS_FILTER_OFF(QS_QEP_TRAN_HIST); // QS_FILTER_OFF(QS_QEP_INTERN_TRAN); // QS_FILTER_OFF(QS_QEP_TRAN); // QS_FILTER_OFF(QS_QEP_IGNORED); QS_FILTER_OFF(QS_QF_ACTIVE_ADD); QS_FILTER_OFF(QS_QF_ACTIVE_REMOVE); QS_FILTER_OFF(QS_QF_ACTIVE_SUBSCRIBE); QS_FILTER_OFF(QS_QF_ACTIVE_UNSUBSCRIBE); QS_FILTER_OFF(QS_QF_ACTIVE_POST_FIFO); QS_FILTER_OFF(QS_QF_ACTIVE_POST_LIFO); QS_FILTER_OFF(QS_QF_ACTIVE_GET); QS_FILTER_OFF(QS_QF_ACTIVE_GET_LAST); QS_FILTER_OFF(QS_QF_EQUEUE_INIT); QS_FILTER_OFF(QS_QF_EQUEUE_POST_FIFO); QS_FILTER_OFF(QS_QF_EQUEUE_POST_LIFO); QS_FILTER_OFF(QS_QF_EQUEUE_GET); QS_FILTER_OFF(QS_QF_EQUEUE_GET_LAST); QS_FILTER_OFF(QS_QF_MPOOL_INIT); QS_FILTER_OFF(QS_QF_MPOOL_GET); QS_FILTER_OFF(QS_QF_MPOOL_PUT); QS_FILTER_OFF(QS_QF_PUBLISH); QS_FILTER_OFF(QS_QF_NEW); QS_FILTER_OFF(QS_QF_GC_ATTEMPT); QS_FILTER_OFF(QS_QF_GC); // QS_FILTER_OFF(QS_QF_TICK); QS_FILTER_OFF(QS_QF_TIMEEVT_ARM); QS_FILTER_OFF(QS_QF_TIMEEVT_AUTO_DISARM); QS_FILTER_OFF(QS_QF_TIMEEVT_DISARM_ATTEMPT); QS_FILTER_OFF(QS_QF_TIMEEVT_DISARM); QS_FILTER_OFF(QS_QF_TIMEEVT_REARM); QS_FILTER_OFF(QS_QF_TIMEEVT_POST); QS_FILTER_OFF(QS_QF_CRIT_ENTRY); QS_FILTER_OFF(QS_QF_CRIT_EXIT); QS_FILTER_OFF(QS_QF_ISR_ENTRY); QS_FILTER_OFF(QS_QF_ISR_EXIT); return UART_config((char const *)arg, 115200UL); }