当前文档版本为 v0.7.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

TX例程

1 功能概述

本代码示例主要演示PAN3029的发送功能。

2 环境要求

  • Board: PAN3029 开发板

  • Mini USB线1根,用于给开发板供电和查看串口打印Log

  • J-Link下载器一个,用于程序下载

  • 将 J1,J4用跳帽连接

3 编译和烧录

例程位置:01_HCSDK\Demo\TX\MDK

打开目录下的pan3029.uvprojx工程,编译整个代码工程。

4 使用说明

根据环境要求一节的介绍,正确连接 EVB 开发板的跳线,编译、下载程序:

  1. 在电脑上打开串口调试工具,串口参数:115200/8bit/1stop/无校验

  2. 观察串口打印的内容,理论上初始化成功后,串口会打印相关信息

  3. TX例程需要搭配RX例程使用

串口输出信息如下:

RF Init OK
TX MODE
Tx cnt 1
Tx cnt 2
Tx cnt 3
Tx cnt 4

5代码流程图

image-20240103170639022

图 1 Tx代码流程图

6代码实现

ret = rf_init();														//初始化
if(ret != OK)
{
    DDL_Printf("  RF Init Fail");
    while(1);
}
rf_set_default_para();													//配置参数
rf_enter_continous_tx();												//配置发射模式
if(rf_continous_tx_send_data(tx_test_buf, TX_LEN) != OK)				//发送数据
{
	DDL_Printf("tx fail \r\n");
}
else
{
    cnt ++;
    DDL_Printf("Tx cnt %d\r\n", cnt );
}
while (1)
{
    rf_irq_process();													//轮询中断标志
    if(rf_get_transmit_flag() == RADIO_FLAG_TXDONE)				//检查中断事件
    {
        BSP_LED_Toggle();
        rf_set_transmit_flag(RADIO_FLAG_IDLE);  				//清除中断事件
        SysTick_Delay(1000);
        if(rf_continous_tx_send_data(tx_test_buf, TX_LEN) != OK)		//再次发送
        {
        	DDL_Printf("tx fail \r\n");
        }
        else
        {
            cnt ++;
            DDL_Printf("Tx cnt %d\r\n", cnt );
        }
    }
}

7注意事项

当芯片配置进入连续发射模式后,就可以连续进行数据发射。

连续发射模式中,发射完成后,如果不退出发射状态(切换至standby3模式可退出发射状态),那么芯片的工作电流会一直保持为发射电流。