Hi,
I am trying to read serial data via UART_1 with v1.2.0 SDK. According to dts-File UART_1 is configured with pin 0 and 1 on the devKit.
I added
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_UART_1_NRF_UARTE=y
CONFIG_BSD_LIBRARY_TRACE_ENABLED=y
to the prj.conf.
Unfortunately, I do not receive any data on UART_1. I already tried to use it with a system workqueue but it does not receive anything either. (I ensured that my transmitter is working)
My Code is (similar to the sample from rallare):
void uart_cb(struct device *x){
LOG_INF("UART Data recevied");
uart_irq_update(x);
int data_length = 0;
if (uart_irq_rx_ready(x)) {
data_length = uart_fifo_read(x, uart_buf, sizeof(uart_buf));
uart_buf[data_length] = 0;
}
LOG_INF("%s",uart_buf);
}
int uartComm_init(struct k_work_q *work_q)
{
int error = 0;
k_work_q_start(&uart_work_q, uart_stack_area, K_THREAD_STACK_SIZEOF(uart_stack_area), UART_PRIO);
LOG_INF("Init UART");
//UART binding
struct device *uart = device_get_binding("UART_1");
if (!uart)
LOG_ERR("Failed to get UART1");
uart_irq_callback_set(uart, uart_cb);
if(error) LOG_ERR("Error setting UART Callback");
uart_irq_rx_enable(uart);
if(error) LOG_ERR("Error enabling UART Interrupt");
else
LOG_INF("End init UART.");
return error;
}
Init UART is properly called:

Any ideas?
Kind regards and thanks in advance,
Manuel