Plhd说明¶
1. 功能说明¶
plhd
演示了Sub-1G的接收提前中断功能。此功能会在收到配置的数据长度后就提前产生一个中断,不需要等到全部收完才产生中断。在一些应用中我们可以使用这个功能去做一些头部信息检查,来过滤掉一些非预期包,提高接收效率。
2 环境准备¶
PAN3740 EVB两块
Type-C USB线两条(用于供电和查看串口打印Log)
硬件接线:
使用USB线,将PC USB与EVB Type-C USB(USB->UART)相连
PC软件: 串口调试助手(UartAssist)或终端工具(SecureCRT),波特率921600
手机(nrf connect)
3 编译和烧录¶
例程位置:
..\nimble\samples\sub_1g\plhd
keil工程中包含了plhd_tx和plhd_rx两个工程,在keil project targets选项中进行选择。
使用keil
分别编译烧录两个EVB板。
4. 演示说明¶
两个evb板上电,打开手机nrf connect app,搜索广播设备
b+plhd tx
和b+plhd rx
。连接并使能设备,b+plhd tx设备连接使能会启动定时器,间隔1000ms发送一次,b+plhd rx设备连接使能启动接收,断开使能关闭发送接收。
起始字节是指提前中断从第几个字节开始检查,包头长度是指提前中断检查多少个字节的数据(包头长度只支持 8 字节或 16 字节,分别使用 PLHD_LEN8/PLHD_LEN16表示)。
b+plhd rx设备默认设置为从第五个字节开始检测,检测长度为PLHD_LEN8,可以通过app修改检测包头长度。
b+plhd rx设备打印提前中断的和全部接收到数据,b+plhd tx设备打印发送的次数(0~255循环)
串口打印:
5. 接口说明¶
void rf_set_plhd_rx_on(uint8_t addr, uint8_t len);
接收端配置。根据addr和len从第addr个字节开始检查计数,检查len个字节的数据触发plhd中断。
6. 特别注意¶
提 前 中 断 功 能 只 支 持 读 取 两 种 数 据 长 度 , 即 8 字 节 /16 字 节 , 分 别 使 用
PLHD_LEN8/PLHD_LEN16 表示。不可以使用自定义参数。
提前中断功能获取数据时,使用 rf_plhd_receive()接口函数,与普通数据包 rf_receive()接口函
数不同,其内部 FIFO 地址不同
7 RAM/Flash资源使用情况¶
PAN107x: TX
Flash Size: 130.40k
RAM Size: 33.88 k
PAN107x: RX
Flash Size: 129.53k
RAM Size: 33.85 k