This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52 inv-ESB receive 0 length packets

hi,i have met some strange problem about inv-esb

i send 21 length packets in peripheral(i use rx as peripheral,use tx ascenter),but ireceive 0 length packets in center.

i printf the length of send packets in  tx-end-event of peripheral,such as this example:

it is in RADIO_IRQHandler():

if (NRF_RADIO->EVENTS_END && (NRF_RADIO->INTENSET & RADIO_INTENSET_END_Msk))

{

NRF_LOG_INFO("m_rx_payload_buffer = %d",m_rx_payload_buffer[0]);

}

and it printf "m_rx_payload_buffer  = 21".(this place i use uart to printf log)

but the problem is ,i printf length of receive packet,i get 0 results.such as this example:

it is in on_radio_disabled_tx_wait_for_ack()

NRF_LOG_INFO("length = %d",m_rx_payload_buffer[0]);

and it printf "length = 0"

if i connect peripheral with jlink,and click "connect" in RTT-viewer,it won't happen,i can receive 21 length bytes.

i want to know why this happen ,and why i connect jlink with peripheral then it won't happen,thanks for your answer.

Related