I would like recieve all advertisement in my way, and I development my application on the DK PCA10056. My code as below:
__ALIGN(4) static uint8_t m_ble_rx_buffer[320]; void ww_radio_rx( void ) { nrf_radio_packet_conf_t pkt_cnf; pkt_cnf.lflen = 1; // 8bits length filed pkt_cnf.s0len = 1; // 1byte S0 filed pkt_cnf.s1len = 0; // No S1 filed pkt_cnf.s1incl = RADIO_PCNF0_S1INCL_Automatic; //Do not include S1 filed pkt_cnf.cilen = 0; // No Code Indicator pkt_cnf.plen = NRF_RADIO_PREAMBLE_LENGTH_8BIT; pkt_cnf.crcinc = RADIO_PCNF0_CRCINC_Exclude; pkt_cnf.termlen = 0; //TERM Filed Length=0 pkt_cnf.maxlen = 255; //max payload size=255 pkt_cnf.big_endian = 0; //Little endian pkt_cnf.whiteen = 1; //whiten pkt_cnf.statlen = 0; //static filed length=0 nrf_radio_power_set( 0 ); nrf_radio_power_set( 1 ); nrf_radio_packet_configure( &pkt_cnf ); nrf_radio_base0_set( 0x89BED600 ); nrf_radio_base1_set( 0x8E8E8E8E ); nrf_radio_txpower_set( NRF_RADIO_TXPOWER_0DBM ); nrf_radio_frequency_set( 2402 ); nrf_radio_mode_set( NRF_RADIO_MODE_BLE_1MBIT ); nrf_radio_shorts_set( NRF_RADIO_SHORT_READY_START_MASK | NRF_RADIO_SHORT_END_DISABLE_MASK ); nrf_radio_txaddress_set( 0 ); nrf_radio_rxaddresses_set( 1 ); nrf_radio_crc_configure( RADIO_CRCCNF_LEN_Three, NRF_RADIO_CRC_ADDR_SKIP, 0x1000065B ); nrf_radio_crcinit_set( 0x555555 ); nrf_radio_ifs_set( 150 ); nrf_radio_datawhiteiv_set( 37 ); nrf_radio_modecnf0_set( 1, 0 ); //nrf_radio_int_enable( NRF_RADIO_INT_ADDRESS_MASK ); //nrf_radio_int_enable( NRF_RADIO_INT_END_MASK ); NVIC_SetPriority(RADIO_IRQn, 0); NVIC_EnableIRQ(RADIO_IRQn); NVIC_ClearPendingIRQ(RADIO_IRQn); nrf_radio_event_clear( NRF_RADIO_EVENT_DISABLED ); nrf_radio_task_trigger( NRF_RADIO_TASK_DISABLE ); while( !nrf_radio_event_check( NRF_RADIO_EVENT_DISABLED ) ) { } nrf_radio_packetptr_set( m_ble_rx_buffer ); nrf_radio_event_clear( NRF_RADIO_EVENT_END ); nrf_radio_task_trigger( NRF_RADIO_TASK_RXEN ); while( !nrf_radio_event_check( NRF_RADIO_EVENT_END ) ) { } nrf_radio_event_clear( NRF_RADIO_EVENT_END ); nrf_radio_int_disable( NRF_RADIO_INT_END_MASK ); }
But, I can't recieve any valid advertisement!
Tks!