Skip to content
Snippets Groups Projects
Commit d6ef4d2d authored by Dan Evans's avatar Dan Evans
Browse files

cpu/sam0_common/periph/uart - don’t setup receive if no pin is selected

parent e9db00c9
No related branches found
No related tags found
No related merge requests found
...@@ -61,8 +61,10 @@ int uart_init(uart_t uart, uint32_t baudrate, uart_rx_cb_t rx_cb, void *arg) ...@@ -61,8 +61,10 @@ int uart_init(uart_t uart, uint32_t baudrate, uart_rx_cb_t rx_cb, void *arg)
dev(uart)->CTRLA.reg &= ~(SERCOM_USART_CTRLA_ENABLE); dev(uart)->CTRLA.reg &= ~(SERCOM_USART_CTRLA_ENABLE);
/* configure pins */ /* configure pins */
gpio_init(uart_config[uart].rx_pin, GPIO_IN); if (uart_config[uart].rx_pin != GPIO_UNDEF) {
gpio_init_mux(uart_config[uart].rx_pin, uart_config[uart].mux); gpio_init(uart_config[uart].rx_pin, GPIO_IN);
gpio_init_mux(uart_config[uart].rx_pin, uart_config[uart].mux);
}
gpio_init(uart_config[uart].tx_pin, GPIO_OUT); gpio_init(uart_config[uart].tx_pin, GPIO_OUT);
gpio_set(uart_config[uart].tx_pin); gpio_set(uart_config[uart].tx_pin);
gpio_init_mux(uart_config[uart].tx_pin, uart_config[uart].mux); gpio_init_mux(uart_config[uart].tx_pin, uart_config[uart].mux);
...@@ -97,7 +99,7 @@ int uart_init(uart_t uart, uint32_t baudrate, uart_rx_cb_t rx_cb, void *arg) ...@@ -97,7 +99,7 @@ int uart_init(uart_t uart, uint32_t baudrate, uart_rx_cb_t rx_cb, void *arg)
/* enable transmitter, and configure 8N1 mode */ /* enable transmitter, and configure 8N1 mode */
dev(uart)->CTRLB.reg = (SERCOM_USART_CTRLB_TXEN); dev(uart)->CTRLB.reg = (SERCOM_USART_CTRLB_TXEN);
/* enable receiver and RX interrupt if configured */ /* enable receiver and RX interrupt if configured */
if (rx_cb) { if ((rx_cb) && (uart_config[uart].rx_pin != GPIO_UNDEF)) {
uart_ctx[uart].rx_cb = rx_cb; uart_ctx[uart].rx_cb = rx_cb;
uart_ctx[uart].arg = arg; uart_ctx[uart].arg = arg;
NVIC_EnableIRQ(SERCOM0_IRQn + sercom_id(dev(uart))); NVIC_EnableIRQ(SERCOM0_IRQn + sercom_id(dev(uart)));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment