void Serial_initialise(void) { static bool initialised = false; if (!initialised) { initialised = true; Vector_initialise(); Event_initialise(); Watchdog_initialise(); Interrupt_type state = Interrupt_disable(); SET_BRTRD(0, CALC_BAUD(PLL_CLK, 1, SERIAL_DIVMD, CONSOLE_BPS)); REG_INT_ESIF01 |= ESRX0 | ESERR0; REG_INT_PLCDC_PSI00 |= SERIAL_CH0_INT_PRI_7; int i; for (i = 0; i < 6; ++i) { // flush FIFO register uint32_t c = REG_EFSIF0_RXD; (void)c; } REG_INT_FSIF01 = FSTX0 | FSRX0 | FSERR0; // clear the interrupt Vector_set(VECTOR_Serial_interface_Ch_0_Receive_error, receive_interrupt); Vector_set(VECTOR_Serial_interface_Ch_0_Receive_buffer_full, receive_interrupt); Interrupt_enable(state); } }
void CTP_initialise(void) { static bool initialised = false; if (!initialised) { initialised = true; Tick_initialise(); touch_state = STATE_WAITING; x = 0; y = 0; CTPwrite = 0; CTPread = 0; init_rs232_ch1(); SET_BRTRD(1, CALC_BAUD(PLL_CLK, 1, SERIAL_DIVMD, CTP_BPS)); InterruptType s = Interrupt_disable(); // CTP_INIT_Reset_function REG_P0_IOC0 |= 0x80; REG_P0_P0D |= 0x80; delay_us(20); REG_P0_P0D &= ~0x80; REG_INT_ESIF01 |= ESRX1 | ESERR1; REG_INT_PSI01_PAD |= SERIAL_CH1_INT_PRI_7; int i; for (i = 0; i < 6; ++i) { // flush FIFO register uint32_t c = REG_EFSIF1_RXD; (void)c; } REG_INT_FSIF01 = FSTX1 | FSRX1 | FSERR1; // clear the interrupt Interrupt_enable(s); } }
void uart_init() { volatile struct UART_WB *uart; uart = (volatile struct UART_WB *)BASE_UART; uart->BCR = CALC_BAUD(UART_BAUDRATE); }
void uart_init() { uart->BCR = CALC_BAUD(UART_BAUDRATE); }