예제 #1
0
/**
 * 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);
}
예제 #2
0
/**
 *  \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);
}
예제 #3
0
/**
 *  \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);
}