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

rf_tx_irq例程

1 功能概述

本例程演示了RF接收中断配置和使用过程。程序会先初始化RF外设工作模式,然后设置发送和接收地址,并开启发送中断。程序会通过RF发送一帧数据,此时发送完成中断会被触发,程序会相应地处理中断,大约1秒后再次发送一帧数据。该例程可以帮助用户理解 RF外设 的中断发送机制,以及如何通过中断进行发送控制。

注:本例程需要rf_rx_irq例程配合进行功能演示

2 环境准备

  • Board: PAN028b1_evb两块(另一块烧录发送程序)

  • Micro USB线两2根,一根用于程序下载,一根用于查看串口打印Log

  • 将 J19 单刀双掷开关拔至TX侧,将P3_1与uart的TX引脚相连

3 编译和烧录

例程位置:pan028_dk\01_SDK\example_basic\rf\rf_tx_irq

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

4 演示说明

  • rf_tx_irq程序运行后,RF每发一帧数据后,都会产生一个发送中断,如下图:

image-20230331145827824

  • rf_rx_irq例程程序运行结果如下图:

    image-20230331150038656

5 开发说明

RF发送中断相关的配置代码如下,更具体的请查看代码工程。

    RF_Init();
    RF_CarrierOffset(0x00);
    RF_SetCrc(RF_CRC_2BYTE);
    RF_SetRate(RF_DR_1Mbps);
    RF_SetPower(RF_TXPWR_10dBm);
    RF_SetChannel(2);//2402Mhz
    
    RF_SetChipMode(RF_CHIPMODE_XN297);
    RF_SetkWorkMode(RF_WORKMODE_NORMAL);
    
    RF_SetTxSetupTime(112); // Establish time of rf tx state
    
    RF_SetTxAddr(RfAddr, sizeof(RfAddr));
    RF_SetRxAddr(RF_PIPE0, RfAddr, sizeof(RfAddr));
    RF_SetRxPayloadLen(RF_PIPE0, RF_RX_BUF_SIZE);

    RF_EnableDynamicPayload(RF_PIPE0, DISABLE);
    RF_SetAckPayload(FALSE);
    
    RF_EnterTxMode();

    RF_ITConfig(RF_IT_TX, ENABLE);
    RF_EnableIRQ();

6 RAM/Flash资源使用情况

Program Size: data=49.1 xdata=128 const=55 code=5993