工具与软件:
我目前正在使用 BLE 开发自己的项目。 我的项目主要是 SDK 中的一个"多角色"示例。 但我使用的是 FreeRTOS、而不是 TI-RTOS。
现在一切都正常。
我的问题是、我想在程序执行期间更改 RTC 寄存器中的 SEC 寄存器的值。
但我无法正确操作、因为在我写入 SEC 寄存器后、RTC 中的 CH0COMP 寄存器发生了变化。 我不理解这些变化的逻辑。 同时、该器件几乎始终不会在这之后进入空气中。 但是、如果我成功地保持了 SEC 寄存器、会向 CH0CMP 寄存器写入一个或多或少正确的值、我看到器件无线运行。
当器件在无线模式下运行时、我看到 TimerP_SetThreeshold 函数不断被调用、并且 CH0COMP 寄存器已更新。 如果我在 AON_RTC SEC 中设置了自己的值、那么它可能不再被调用。
这很可能是由 osal 系统和 osal_run_system 函数造成的。 我确信 BLE 以某种方式使用了 RTC 模块来实现它。 但目前还没有确切的理解。 请帮助我如何正确更新 RTC SEC 寄存器。 为了使射频部分继续正常工作、还应调用哪些其他函数以及应在何处调用?
P.S.我已经问过一个类似的问题,但我没有找到答案。 有人建议我研究文档、但没有什么可以帮助我的。 我被告知这些寄存器由 TI-RTOS 控制、用户不应触摸它、但我需要做的是。 我确定有可能以某种方式强制正确更新 RTC 寄存器、或者我需要找到证据证明这是不可能的。
感谢您的帮助。