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.

[参考译文] CC3235S:NWP 的时间同步

Guru**** 2484615 points
Other Parts Discussed in Thread: CC3235S

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1260276/cc3235s-time-synchronization-for-nwp

器件型号:CC3235S

您好!

使用 sl_WlanConnect ()连接到网络后,我执行 startsntp (),获取当前 UTC 时间,并将其设置为 NWP。 我将使用 TI SDK 中的 startsntp.c 来获取函数 startsntp  ()。 此后、我使用以下代码来获取 UTC 时间:

_i8 configOpt = SL_DEVICE_GENERAL_DATE_TIME;
SlDateTime_t dt;

sl_DeviceGet (SL_DEVICE_General、&configOpt、
sizeof (SlDateTime_t)、(unsigned char *)(&dt);

我是否需要定期设置 NWP 时间以使其时钟与网络时间保持同步? 或者它自己做到这一点?

谢谢。

普拉德普

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

    您好!

    无需定期设置时间。

    该时间在文件系统的专用文件中设置、并在重新启动时读取。

    您会看到不同的行为吗?

    此致、

    什洛米

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

    您好!

    我看到复位后默认时间(2013年1月1日00:00)恢复(电源仍处于开启状态)。 当我为 CC3235S 模块提供复位脉冲并使用我在上面给定的代码片段提供读取时间时、我会获得默认时间。  我必须重新连接到网络和 startsntp()以重新获得时间。

    有没有什么地方甚至在复位后也可以保留时间?

    谢谢。

    普拉德普

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

    您好!

    「我知道了,我想和你谈谈。」

    是否可以尝试持久性标志? 请参阅下面的代码。

    _i16 configLen = sizeof(_u8);
    _u8 persistent;
    _i8 configOpt = SL_DEVICE_GENERAL_PERSISTENT;
    sl_DeviceGet(SL_DEVICE_GENERAL, &configOpt, &configLen, &persistent);

    此致、

    什洛米

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

    您好!

    您的代码显示  SL_Device G et()。 我认为这会获得 PERSISTENT 标志的状态、对吧?

    是否要检查持久性标志值,或者是否要使用以下代码设置持久性标志?  

    _u8 persistent = 1;

    状态= sl_DeviceSet (SL_DEVICE_General、SL_DEVICE_GENERAL_PERSISTENT、sizeof (_u8)、(_u8*)(&PERSISTENT);

    我尝试使用上述代码设置 PERSISTENT 标志、但没有效果。 复位后、如果我读取时间、那么它会恢复为默认值。

    谢谢。

    普拉德普

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

    您好!

    我知道困惑来自何处。

    首先、是的、我只想让您读取持久性标志、以确保数据和时间存储在文件系统中。

    它的工作方式(也出现在 NWP 用户指南中)是使用 RTC 作为日期和时间的引用。  RTC 是一个连续计数器、即使在休眠期间也处于活动状态、但在关机后重置。 因此只要您设置日期和时间并进入休眠状态(即 sl_Stop ()、然后是 sl_Start ())、就应该没问题。

    但是、如果您进入关断模式、则 RTC 值会重置、然后数据和时间也会重置为默认的2013年1月1日。

    此致、

    什洛米