This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/CC2650:如何使用 RTC?

Guru**** 2589280 points
Other Parts Discussed in Thread: CC2650

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/605521/rtos-cc2650-how-to-use-rtc

器件型号:CC2650

工具/软件:TI-RTOS

您好!

如何 在 CC2650中使用 RTC 时钟? 我使用 CC2650在预定义时间触发 GPIO。 我想知道如何使用系统启动的实际时间设置 RTC 时钟? 此外、是否有来自 RTC 的中断、在该中断中、执行设置工作后整个模块将进入睡眠状态、并在 RTC 中断时再次唤醒? CC2650中是否有任何有关 RTC 使用的示例代码?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您不需要直接使用 RTC。 您可以使用

    • TI-RTOS 内核中的秒模块、用于设置时基和获取时间戳。
    • TI-RTOS 内核中的时钟模块来获取准确的事件。 时钟模块是 RTC 之上的一个抽象( 由定时器模块表示)。 您可以根据需要运行任意数量的"时钟"。

    我建议使用这些。 如果您仍然认为这不是您想要的、您可以直接使用 RTC。 RTC 具有3个比较/匹配通道。 TI-RTOS 仅使用通道0、传感器控制器应用使用通道2。 计时器模块文档包含以下代码段:

    [引用 user="TI-RTOS API doc"]

    下面的代码段显示了使用通道1和 Driverlib API 调用在启动后的4秒配置 RTC 事件的示例。
    首先、在应用.cfg 文件中为通道1定义了挂钩函数:

    VAR 计时器= XDC.MODULE ('ti.sysbios.family.arm.cc26xx.Timer');
    Timer.funcHookCH1 ="&myHookCH1"; 

    在 main()中,首先清除通道1,设置4秒的比较(匹配)值,启用通道,并将其(与通道0一起)包含在组合事件配置中:

    AONRTCEventClear (AON_RTC_CH1);
    AONRTCCompareValueSet (AON_RTC_CH1、0x40000);
    AONRTCChannelEnable (AON_RTC_CH1);
    AONRTCCombinedEventConfig (AON_RTC_CH0 | AON_RTC_CH1); 

    在上述情况下,当 RTC 达到4秒计数时,将调用 myHookCH1()。 此时、可为通道1应发生的下一个中断写入新的比较值。

    [/报价]