First 由于射频部分由core1处理,我们在core1里设置发射单载波,但不能在main里立刻设置单载波并死循环,得等双核通信一会之后再做,于是设置到一个软定时里处理。如图: 参考代码如下: evt_timer_t test_t_id; void timer_callback(evt_timer_t *timer, void *p) { daif_rf_full_rx_enable(true,2440); while(1); } evt_timer_init(); evt_timer_set(&test_t_id, 3000, EVT_TIMER_ONE_SHOT, timer_callback, NULL); Second 那么如何修改发射功率呢? 需要配置寄存器0x4017000c的<28>=1,0x4017000c<27:24>=1111(最大),0000(最小) 查看代码DAIF_PA_CNS_GAIN_PA_MO 为发射功率值位置,配置代码如下: register_set(&OM_DAIF->PA_CNS, MASK_3REG(DAIF_PA_CNS_TXDAC_GAIN, 5, DAIF_PA_CNS_GAIN_PA_MO, 0x9, DAIF_PA_CNS_GAIN_PA_ME, 1)); 该把这个函数放在哪里呢? 建议放在calib_rf_end_callback@core1的最后,如图: Third 如何修改频偏呢? 需要配置XTAL32M内部电容寄存器 0x40180094<17:13> #define OM_PMU_BASE 0x40180000U 目前sdk此参数默认为8,可直接调用接口:pmu_xtal32m_change_param(x); 此接口放在startup_thread@core0即可,如图: End 有不当之处请随时与我沟通,danke |