Nrf9160 restarts due to adding serial ports

hi:

I use ncs v2.1.1

Add uart1 or uart0 to the bink example.

results of enforcement:

prj.conf

CONFIG_GPIO=y

# UART interface
CONFIG_SERIAL=y
CONFIG_UART_ASYNC_API=y
CONFIG_NRFX_TIMER2=y

Source code part:

struct device *uart;

static K_SEM_DEFINE(uarte_tx_finished, 0, 1);
static uint8_t uart_rx_buf[1024];


static void uart_callback(const struct device *dev,
			  struct uart_event *evt,
			  void *user_data)
{
	uint8_t *p;
	int len;
	switch (evt->type) 
	{
	case UART_TX_DONE:
		k_sem_give(&uarte_tx_finished);
		break;
	case UART_TX_ABORTED:
		k_sem_give(&uarte_tx_finished);
		break;	
	case UART_RX_RDY:
		len = evt->data.rx.len;
		p = evt->data.rx.buf + evt->data.rx.offset;
		printk("%s\r\n",p);
		break;	
	case UART_RX_BUF_REQUEST:
		break;			
	case UART_RX_BUF_RELEASED:
		break;
	case UART_RX_DISABLED:
		break;	
	case UART_RX_STOPPED:
		break;
	}
}

static int user_uart_rx_enable(void)
{
	int err;
	err = uart_callback_set(uart, uart_callback, (void *)NULL);
	if (err) {
	}

	err = uart_rx_enable(uart, uart_rx_buf, sizeof(uart_rx_buf),
			     5 * USEC_PER_MSEC);
	if (err) {
	} else {
	}
	return err;
}

void uart_init(void)
{
	uart = device_get_binding("UART_1");
	user_uart_rx_enable();
}

void uart_example(void)
{
    uint8_t tx[]="1234567890\r\n";
    uart_tx( uart, tx, 12, 0);
	k_sem_take(&uarte_tx_finished, K_FOREVER);

}

8080.blinky.zip

Parents Reply Children
No Data
Related