void console_initialize_interrupts( void ) { volatile Ring_buffer_t *buffer; Console_Protocol *protocol; int i; for ( i=0 ; i < NUM_Z85C30_PORTS ; i++ ) { protocol = Ports_85C30[i].Protocol; /* * Initialize the ring buffer and set to not transmitting. */ buffer = &protocol->TX_Buffer; Ring_buffer_Initialize( buffer ); protocol->Is_TX_active = false; } /* * Connect each vector to the interupt service routine. */ for (i=0; i < NUM_Z85C30_CHIPS; i++) set_vector( console_isr, Chips_85C30[i].vector, 1 ); #warning "Install interrupts using proper method for PIC vectors." atexit( console_exit ); }
void console_initialize_interrupts( void ) { Ring_buffer_Initialize( &TX_Buffer[ 0 ] ); Ring_buffer_Initialize( &TX_Buffer[ 1 ] ); Is_TX_active[ 0 ] = false; Is_TX_active[ 1 ] = false; atexit( console_exit ); LEON_REG.UART_Control_1 |= LEON_REG_UART_CTRL_RI | LEON_REG_UART_CTRL_TI; LEON_REG.UART_Control_2 |= LEON_REG_UART_CTRL_RI | LEON_REG_UART_CTRL_TI; set_vector( console_isr_a, CONSOLE_UART_1_TRAP, 1 ); #ifdef RDB_BREAK_IN if (trap_table[0x150/4] == 0x91d02000) #endif set_vector( console_isr_b, CONSOLE_UART_2_TRAP, 1 ); }
void buffered_io_initialize( void ) { Ring_buffer_Initialize( &Buffer ); }