I try DTM using the serialized application. The serialized application interface is UART.
The software on Connectivity board is ble_connectivity in nRF5 SDK, it is not modified.
After transmitting ble_dtm_init()/ble_dtm_init_req_enc() command from Application board,
dtm_start() was executed on Connectivity board. But, nrfx_uarte_uninit() in dtm_start() could not be completed.
Call stack and un-completed code are the following.
Call stak: ser_conn_is_ready_to_enter_dtm() -> dtm_start() -> uart_init() -> nrf_drv_uart_uninit() -> nrfx_uarte_uninit()
nrfx_uarte.c (Line 317-320):
// Wait for TXSTOPPED event and for RXTO event, provided that there was ongoing reception.
while (!nrf_uarte_event_check(p_reg, NRF_UARTE_EVENT_TXSTOPPED) ||
(p_cb->rx_buffer_length && !nrf_uarte_event_check(p_reg, NRF_UARTE_EVENT_RXTO)))
{}
Why cannot it complete?