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/TM4C1294KCPDT:系统 epoch 时间出错

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/783135/rtos-tm4c1294kcpdt-system-epoch-time-is-getting-wrong

器件型号:TM4C1294KCPDT
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

大家好、

请参阅以下代码。

#include
#include

struct tm* timebuffer;

Seconds_set (1552641654);

步骤1:
代码:
TIME_t 当前时间=时间(空);
timeBuffer = localtime (&currTime);
char* curTime = asctime (timebuffer);
System_printf ("以前的时间(GMT):%s\n"、curTime);
system_flush();

输出:
之前时间(GMT):2019年3月15日、星期五、09:20:55


步骤2:
代码:
seconds_getTime (&ts);
struct tm* currTime = localtime (&ts.secs);
CHAR* CTime =上升时间(当前时间);
System_printf ("下班时间(GMT):%s\n"、CTime);
system_flush();

输出:
下班时间(GMT):1949年3月15日09:20:55

如果我使用的是 Step2、我将获得70年的差异。

能不能有人能解决我的问题、我如何同时以两种方式获得。

提前感谢。

需要快速回复。

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

    您能否发布您所使用的 TI RTOS .cfg 文件以及 SDK 版本? 同时、我正在尝试重复您的问题。

    谢谢、

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

    大家好、我现在看到了这个问题。 事实上、我们的时间库是1900年而非1970年的标准。 我不确定原因、我怀疑这是传统兼容性问题。

    因此、我建议您坚持使用 Step1方法、或者如果您必须使用 Step2、则需要添加70年偏移、以通过的秒为单位、或者直接添加到 TM 结构。

    希望这有所帮助、如果您有其他问题、请告诉我。 谢谢、

    肖恩

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

    在 TI_RTOS 中、是否有任何复位纳秒的设置?

    通过使用 seconds_getTime (&ts);API、我们将获得秒和纳秒。

    有一个选项可设置秒。 比如、是否有复位纳秒的选项?

    需要快速回复。


    此致、
    Prem Kumar。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否打开一个新主题、因为这是一个不同的问题?