Base on nRF5_SDK_15.3.0_59ac345 for NRF52810, I wrote the following codes,
static void _uart_event_handler(nrf_drv_uart_event_t* event, void* context)
{
switch(event->type){
case NRF_DRV_UART_EVT_RX_DONE:
break;
case NRF_DRV_UART_EVT_ERROR:
break;
default:
break;
}
}
static nrf_drv_uart_t _uart;
static nrf_drv_uart_config_t _cfg;
void init(wk_callback_t callback)
{
_cfg.pseltxd = 6;
_cfg.pselrxd = 8;
_cfg.pselcts = NRF_UART_PSEL_DISCONNECTED;
_cfg.pselrts = NRF_UART_PSEL_DISCONNECTED;
_cfg.baudrate = NRF_UART_BAUDRATE_115200;
_cfg.parity = NRF_UART_PARITY_EXCLUDED;
_cfg.hwfc = NRF_UART_HWFC_DISABLED;
_cfg.interrupt_priority = APP_IRQ_PRIORITY_LOWEST;
_uart.inst_idx = 0;
_uart.uart.p_reg = NRF_UART0;
_uart.uart.drv_inst_idx = 0;
nrf_drv_uart_init(&_uart, &_cfg, _uart_event_handler);
}
Use nrf_drv_uart_tx to send data is successful, and NRF_DRV_UART_EVT_TX_DONE occur normally.
But I can't receive any data, In other words, NRF_DRV_UART_EVT_RX_DONE never happened.
Who can help me? Thanks!