CH58x系列芯片的RF是一个非常实用的功能,RF 应用基于 RF 发送与接收的 PHY(物理层),实现 2.4GHz 频段的无线通讯。与 BLE 的区别 在于,RF 应用并没有建立 BLE 的协议,可以非常方便快捷的实现对电子产品的遥控,结合其它的BLE应用,可以实现一些很有意思的功能。
这里我们简单的阐述,如何利用RF,实现点对点的通讯。本文的所有例程都基于沁恒提供的例程修改得来,为了减少篇幅,我们在这里只列出修改部分的代码,并作简单说明。
#define TX_MODE 0
#define RX_MODE 1
#ifndef RF_MODE
#define RF_MODE RX_MODE
#endif
//在config.h文件中加入上述代码,RF的应用,发送与接收的代码大部分相同,
所以多数时候,我们在同一个工程文件中实现,加入上述代码的目的,只是为了方便。
//config.h
#if (RF_MODE == RX_MODE)
#ifndef HAL_KEY
#define HAL_KEY FALSE
#endif
#ifndef HAL_LED
#define HAL_LED TRUE
#endif
#else
#ifndef HAL_KEY
#define HAL_KEY TRUE
#endif
#ifndef HAL_LED
#define HAL_LED FALSE
#endif
#endif
//本文例程发送时,通过按下按键实现发送不同的数据,从而达到控制电子产品的目的。
//接收时,接收到不同的控制指令,控制LED的亮或灭。
//RF_PHY.c
uint8_t TX_DATA[10] = {0, 0, 1, 1, 0, 2, 0,3,0,'E'};
//控制指令数据,用户可以自己定义,本例程只需要考虑第3个数据的值。
c