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.

[参考译文] CCS/CC2650MODA:实时时钟在复位时重新启动。 如何将其与看门狗一起使用。

Guru**** 2553260 points
Other Parts Discussed in Thread: CC2650MODA

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/627515/ccs-cc2650moda-real-time-clock-restarts-on-reset-how-is-it-possible-to-use-it-with-watchdog

器件型号:CC2650MODA

工具/软件:Code Composer Studio

您好、averyone:

我正在使用 CC2650MODA 模块、必须在其中添加实时时钟。 我在手册和其他论坛上学习了如何执行此操作。 我通过函数"time()获取时间。 该时间由函数"localtime()"从秒转换。 一切都正常、但有一个问题我无法解决:当我按下复位按钮时、模块从开始开始开始计时。 在手册中、必须将时间初始化为可以使用的加速时间。 但如果我不进行任何时间初始化,则计时计数不会从先前的状态继续,但它从零开始。 我知道处理器在上电或复位时设置了默认值、但如果我正确理解 RTC、则在复位时一定不能重置、如果看门狗将提供紧急复位、则 RTC 时间也将重新启动。

如何解决这个问题。

此致

Boris Fridman。

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

    如果无线 MCU 复位、则看门狗也需要重新初始化、然后才能复位 MCU。 我不确定您的问题是什么、您是否在电路板上展示了与此问题相关的问题?

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

    您好、JXS、

    我不解释看门狗问题、而是实时时钟。 RTC 问题是它复位。  

    代码的部分:

    // 全局变量:

    uint32 t;
    time_t t1;
    struct tm *ltm;
    char *curTime;

    (笑声)

    //在循环代码中:

    T1 =时间(空);
    LTM = localtime (&T1);
    curTime =上升时间(LTM);
    System_printf ("time (GMT):%s\n\r\n、curTime); //打印到调试终端
    system_flush();

    uartTxBufferOffset = System_sprintf (uartTxBuffer、"Time (GMT):%s\n\r\n、curTime);    
    UART_WRITE (UartHandle、uartTxBuffer、uartTxBufferOffset);   //打印到 UART 终端

    
    

    终端中的数据如下所示:


    时间(GMT):星期一1月1日00:00:01 1900

    时间(GMT):星期一1月1日00:00:02 1900

    时间(GMT):星期一1月1日00:00:03 1900

    时间(GMT):星期一1月1日00:00:04 1900

    时间(GMT):星期一1月1日00:00:05 1900

    时间(GMT):星期一1月1日00:00:06 1900

    时间(GMT):星期一1月1日00:00:07 1900

    时间(GMT):星期一1月1日00:00:08 1900

    时间(GMT):1900年1月1日星期一下午1:00:09

    进行复位

    时间(GMT):星期一1月1日00:00:01 1900 //重置后、时钟从零开始、而不是从最后一个状态继续

    时间(GMT):星期一1月1日00:00:02 1900

    时间(GMT):星期一1月1日00:00:03 1900

    时间(GMT):星期一1月1日00:00:04 1900

    时间(GMT):星期一1月1日00:00:05 1900

    时间(GMT):星期一1月1日00:00:06 1900

    时间(GMT):星期一1月1日00:00:07 1900

    时间(GMT):星期一1月1日00:00:08 1900

    时间(GMT):1900年1月1日星期一下午1:00:09

    从此日志中、您可以看到时钟在复位时重新启动。 这意味着如果程序将由看门狗重新启动、RTC 中的时间将不正确。

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

    如 TRM (引用的 SWCU117、Rev H)中所述、"在 AON_RTC 加电后启用时、计数器从0开始"。 从图6-3中可以看出、AON_RTC 由 AON_VD 供电、在该引脚上、"AON_VD 由系统复位进行复位。 有关详细信息、请参阅第6.7.1节。"。

    因此、您显示的是发生复位时的预期行为。

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、JXS、
    那么、如果我理解了您的理解并且手册正确的话、看门狗进行的重置也会重新启动 RTC?
    是否必须重新调整 RTC、即使在热的看门狗复位后也是如此?

    此致
    Boris Fridman