/* * pios_usart_config.h * * Created on: May 8, 2011 * Author: Michael Smioth */ #ifndef PIOS_USART_CONFIG_H_ #define PIOS_USART_CONFIG_H_ /** * Generic USART configuration structure for an STM32F2xx port. */ #define USART_CONFIG(_usart, _baudrate, _rx_gpio, _rx_pin, _tx_gpio, _tx_pin) \ { \ .regs = _usart, \ .remap = GPIO_AF_ ## _usart, \ .init = { \ .USART_BaudRate = _baudrate, \ .USART_WordLength = USART_WordLength_8b, \ .USART_Parity = USART_Parity_No, \ .USART_StopBits = USART_StopBits_1, \ .USART_HardwareFlowControl = USART_HardwareFlowControl_None, \ .USART_Mode = USART_Mode_Rx | USART_Mode_Tx, \ }, \ .irq = { \ .init = { \ .NVIC_IRQChannel = _usart ## _IRQn, \ .NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_HIGH, \ .NVIC_IRQChannelSubPriority = 0, \ .NVIC_IRQChannelCmd = ENABLE, \ }, \ }, \ .rx = { \ .gpio = _rx_gpio, \ .init = { \ .GPIO_Pin = _rx_pin, \ .GPIO_Mode = GPIO_Mode_AF, \ .GPIO_Speed = GPIO_Speed_50MHz, \ .GPIO_OType = GPIO_OType_PP, \ .GPIO_PuPd = GPIO_PuPd_UP, \ }, \ }, \ .tx = { \ .gpio = _tx_gpio, \ .init = { \ .GPIO_Pin = _tx_pin, \ .GPIO_Mode = GPIO_Mode_AF, \ .GPIO_Speed = GPIO_Speed_50MHz, \ .GPIO_OType = GPIO_OType_PP, \ .GPIO_PuPd = GPIO_PuPd_UP, \ }, \ }, \ } #endif /* PIOS_USART_CONFIG_H_ */