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

radio test

I copy static void radio_disable(void) and void radio_tx_carrier(uint8_t txpower, uint8_t mode, uint8_t channel) into my project.

I call radio_tx_carrier(RADIO_TXPOWER_TXPOWER_0dBm,RADIO_MODE_MODE_Nrf_1Mbit,0); and connect to Spectrum Analyzer. but center frequency is not 2400 (2400 + 0 = 2400) (the frequency is 2430) observe for Spectrum Analyzer and the power is not 0 dbm.the power is -36dbm. I do not kown why ? please give an answer, thanks!

  • The frequency shift could be caused by the external 16M not being started. Have you made sure that the 16M xtal is up and running before enabling the radio? Here's a code snippet on how to start it:

    // Start 16 MHz crystal oscillator.
    NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;
    NRF_CLOCK->TASKS_HFCLKSTART    = 1;
    
    // Wait for the external oscillator to start up.
    while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0) 
    {
        // Do nothing.
    }
    

    The low output power could be caused by pin VDD_PA not being connected properly to the matching network. This usually gives an attenuation of about ~35 dB.

    Is this tested on a custom board, or on one of our kits?

    Best regards, Håkon

Related