CC1310 WOR如何设置几秒钟醒一次

本文档详细介绍了如何在CC1310上设置WOR(Wake On Radio)使得设备每5秒唤醒一次进行数据接收。在SDK simplelink_cc13x0_sdk_1_60_00_21和IAR8.11.1环境下,通过修改WOR_WAKEUPS_PER_SECOND参数并将其设置为0.2f,解决了原本出现的RX Timeout问题。同时,调整了TX的命令触发方式以确保5秒发送一次数据。测试结果显示,CC1310能够正确地按预期周期性唤醒并接收数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SDK版本:simplelink_cc13x0_sdk_1_60_00_21
IAR版本:IAR8.11.1
代码:
C:\ti\simplelink_cc13x0_sdk_1_60_00_21\examples\rtos\CC1310_LAUNCHXL\drivers\rfWakeOnRadioTx & rfWakeOnRadioRx

测试步骤:
1.默认的WOR例程是500ms唤醒一次,检测空中是否有数据包需要接收,设置WOR_WAKEUPS_PER_SECOND为2表示1s钟唤醒2次,即500ms唤醒一次
2.如果要实现5s钟唤醒一次,理论上则需要修改WOR_WAKEUPS_PER_SECOND为0.2即可,1s钟唤醒0.2次,即5s钟唤醒一次。

出现的问题:
实际测试发现,RX一直在Timeout状态,收不到数据,上E2E搜,发现有类似问题,解决办法如下:

解决办法:
1.修改TX和RX代码中WOR_WAKEUPS_PER_SECOND为0.2,最好写成0.2f,表示这是个float型的参数
2.修改TX代码TxAdv命令触发方式为立即触发,如果不改这里则会出现,第一包发完之后,后面都是500ms发一包而不是5s发一包(至于为什么要这么改,目前还不清楚)
在这里插入图片描述
3.修改RX代码中wakeupPerSecond类型为float型:
在这里插入图片描述

测试结果:
TX每5s发一包,RX在检测到前导码后继续等待,直到TX发完前导码。(表现为CC1310 LP的红灯先亮,表示检

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值