单载波应用测试参考¶
1 功能介绍¶
PAN3029/3060提供单载波测试功能,配置单载波模式,芯片会发射单载波供用户使用。
2 软件设计参考¶
2.1 软件设计流程¶
1、芯片初始化;
2、配置单载波相关参数,并配置进入单载波模式;
3、配置频点,设置芯片进入单载波发射状态;
4、如要修改频点,需要等待TxDone IRQ信号,然后退出发射状态,重新配置频点,再次设置进入单载波发射状态;
5、如要退出单载波状态,需要等待TxDone IRQ信号,然后退出发射状态,退出单载波模式。
2.2 接口描述¶
uint32_t rf_set_carrier_wave_on(void);
配置单载波相关参数,并配置进入单载波模式。
uint32_t rf_set_carrier_wave_freq(uint32_t freq);
配置单载波发射频点,并输出单载波。
uint32_t rf_set_carrier_wave_off(void);
配置关闭单载波模式,并停止输出单载波。
2.3 软件设计验证¶
2.3.1 SDK示例¶
参考代码:
uint32_t freq_now;
#define REFQ_408 1//遍历开关,开408~565MHz遍历
ret = rf_init();//射频初始化
if(ret != OK)
{
dis_err(" RF Init Fail");
while(1);
}
#if REFQ_408
uint8_t i;
uint32_t freq_min = 408000000; //遍历起始频点
for(i=0; i<158; i++)
{
freq_now = freq_min + i*1000000; //计算当前发送频点
rf_set_carrier_wave_freq(freq_now); //设置当前频点,启动单载波发送
while(rf_get_transmit_flag() != RADIO_FLAG_TXDONE)//等待 TxDone IRQ中断
{
rf_irq_process();
}
rf_set_transmit_flag(RADIO_FLAG_IDLE); //清事件标志
}
#else //遍历816~1080MHz
uint16_t j;
uint32_t freq_min = 816000000;
for(j=0; j<265; j++)
{
freq_now = freq_min + j*1000000;
rf_set_carrier_wave_freq(freq_now);
while(rf_get_transmit_flag() != RADIO_FLAG_TXDONE)//等待TxDone IRQ信号
{
rf_irq_process();
}
rf_set_transmit_flag(RADIO_FLAG_IDLE);
}
#endif
rf_set_carrier_wave_off();//关闭并退出单载波模式
while(1)
{
}
示例代码配置了输出408~565MHz和816~1080MHz单载波输出,通过宏REFQ_408切换程序。
用户可根据需要选择发射单载波的频点范围,如果不执行rf_set_carrier_wave_off()则芯片会保持输出当前频点的单载波。