Trying to integrate the serial part of the example code for use with a custom nRF52840 board. The problem is that I'm getting an error in uart_callback_set(uart, uart_cb, NULL) that is causing "Cannot initialize UART callback" to be displayed. I'm using UART1 which works with a different interrupt version of this code. Not sure what I'm missing here to get the callback initialized.
int initUart() {
int err;
int pos;
struct uart_data_t *rx;
struct uart_data_t *tx;
//fifoInit();
uart = device_get_binding("UART_1");
__ASSERT(uart, "Failed to get UART device");
//interrupt_driven(uart);
if (!uart) {
return -ENXIO;
}
rx = k_malloc(sizeof(*rx));
if (rx) {
rx->len = 0;
} else {
return -ENOMEM;
}
k_work_init_delayable(&uart_work, uart_work_handler);
err = uart_callback_set(uart, uart_cb, NULL);
if (err) {
LOG_ERR("Cannot initialize UART callback");
return err;
}
CONFIG_STDOUT_CONSOLE=n CONFIG_UART_CONSOLE=n CONFIG_NRF_SW_LPUART=n CONFIG_NRF_SW_LPUART_INT_DRIVEN=y # UART CONFIG_SERIAL=y CONFIG_UART_INTERRUPT_DRIVEN=y CONFIG_UART_LINE_CTRL=n CONFIG_UART_ASYNC_API=y CONFIG_UART_0_ASYNC=y CONFIG_UART_1_ASYNC=y CONFIG_UART_0_NRF_HW_ASYNC=y CONFIG_UART_1_NRF_HW_ASYNC=y CONFIG_UART_0_NRF_HW_ASYNC_TIMER=1 CONFIG_UART_1_NRF_HW_ASYNC_TIMER=2 CONFIG_NRFX_UARTE=y CONFIG_NRFX_UARTE0=y CONFIG_NRFX_UARTE1=y CONFIG_NRFX_TIMER=y CONFIG_NRFX_TIMER1=y CONFIG_NRFX_TIMER2=y CONFIG_NRFX_PPI=y CONFIG_NRFX_TIMER2=y
