/** * Configure USART to work @ 115200 */ static void _configure_usart(void) { Usart* usart = usart_desc.addr; uint32_t id = get_usart_id_from_addr(usart); /* Driver initialize */ xdmad_initialize(0); usartd_configure(&usart_desc); pio_configure(usart_pins, ARRAY_SIZE(usart_pins)); usart_enable_it(usart, US_IER_RXRDY); aic_set_source_vector(id, usart_irq_handler); aic_enable(id); }
/** * \brief Init Usart COM2 master. */ static void _init_com_master (void) { uint32_t id = get_usart_id_from_addr(lin_desc2.addr); /* Configure Pios usart*/ pio_configure(&pins_com2[0], ARRAY_SIZE(pins_com2)); /* Init LIN MASTER data Node 0 */ lin_init(&lin_desc2, LIN_MASTER_NODE_NUM); /* Configure interrupts */ usart_enable_it(lin_desc2.addr, US_IER_LINTC); aic_set_source_vector(id, _com2_master_handler); }
/** * \brief Init Usart COM3 slave. */ static void _init_com_slave (void) { uint32_t id = get_usart_id_from_addr(lin_desc3.addr); /* Configure Pios usart*/ pio_configure(&pins_com3[0], ARRAY_SIZE(pins_com3)); /* Init LIN SLAVE data Node 0 */ lin_init(&lin_desc3, LIN_SLAVE_NODE_NUM); /* Configure interrupts */ usart_enable_it(lin_desc3.addr, US_IER_LINID); aic_set_source_vector(id, _com3_slave_handler); aic_enable(id); }