Problem with Async UART Example from peripheral_uart

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

Parents Reply Children
No Data
Related