コード例 #1
0
ファイル: serial.c プロジェクト: 9072997/wikireader
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);
	}
}
コード例 #2
0
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);
    }
}
コード例 #3
0
ファイル: main.c プロジェクト: Pinwino/lm32_code
void uart_init()
{
	volatile struct UART_WB *uart;
	uart = (volatile struct UART_WB *)BASE_UART;
	uart->BCR = CALC_BAUD(UART_BAUDRATE);
}
コード例 #4
0
ファイル: uart.c プロジェクト: klyone/wr-cores-ugr
void uart_init()
{
	uart->BCR = CALC_BAUD(UART_BAUDRATE);
}