6626 2.4G读取不同频点的背景噪声

徽信管理团队 · 95次点击 · 1个月前

部分客户在开发2.4G项目的时候,需要使用获取不同频点的背景噪声,现给出demo如下:


int8_t get_env_rssi_once(void)
{
    uint32_t temp;
    int8_t rssi;

    temp = OM_PHY->RSSI_CAP_MODE; //store  rssi CAP mode
    //------------------------------------
    OM_PHY->RSSI_CAP_MODE = 1;  //EST background RSSI
    OM_PHY->RSSI_EST_REAL_TIME = 1;

    rssi =  tr_read_rssi();
    // OM_LOG_DEBUG("rssi= %d\n",(int)rssi);
    OM_PHY->RSSI_CAP_MODE = temp;// restore RSSI CAP MODE
    return rssi;
}

static volatile uint16_t set_freq_value = 2402;

static const uint16_t base_freq_value = 2402;
static const uint16_t channel_num_max = 90;
uint16_t channel = 0;

static evt_timer_t evt_timer_freq_rssi;


static void evt_timer_freq_rssi_handler(evt_timer_t *timer, void *param)
{
    // 切换频点
    if(channel > 90)
    {
        channel = 0;
    }
    set_freq_value = base_freq_value + channel;
    channel++;
    OM_LOG_DEBUG("chn %02d, rssi= %d\n",channel-1, get_env_rssi_once());
    OM24G_CE_LOW();
    om24g_set_freq(set_freq_value,0);
    OM24G_CE_HIGH();

    // OM_LOG_DEBUG("rssi= %d\n", get_env_rssi_once());

}


evt_timer_set(&evt_timer_freq_rssi, 10, EVT_TIMER_REPEAT, evt_timer_freq_rssi_handler, NULL);

我们先让2.4进入rx模式,这样便可以通过定时器来切换频点进行输出对应的背景噪声了

被收藏 0  ∙  0 赞  
加入收藏
点赞
1 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站