我们正在尝试提高 BLE 数据包的发送频率。 我们希望每秒发送一个包含温度和湿度设置的 BLE 数据包。
在 main.c 中、我可以看到 packet_interval 被定义为
define packet_interval 4000000*0.01f
我们无法理解该值的分辨率。 该值的分辨率是多少。
我还查看了 RF_getCurrentTime 的定义-但不确定如何计算当前时间的值(我们复制了下面的代码片段)。 您能否指向解释这一点的寄存器规格。
请告诉我们如何使用 TIDA00374固件每秒发送一个 BLE 数据包。
谢谢
uint32_t RF_getCurrentTime (空)
{
IF (b 无线电激活)
{
返回 HWREG (RFC_RAT_BASE_RFC_RAT_O_RATCNT);
}
其他
{
uint64_t nRtc;
nRtc = AONRTCCurrent64BitValueGet ();
//保守地假定我们即将增加 RTC
nRtc += 0x100000000LL/32768;
//根据 RAT 运行的4MHz 进行缩放
nRtc *= 4000000;
//添加 RTC=0时的 RAT 偏移量
nRtc +=((uint64_t) opRatSync.start.rat0)<<32;
返回(uint32_t)(nRtc>>>32);
}
}