ESP8266 Developer Zone The Official ESP8266 Forum 2015-05-11T14:49:41+08:00 https://bbs.espressif.com:443/feed.php?f=7&t=436 2015-05-11T14:47:41+08:00 2015-05-11T14:47:41+08:00 https://bbs.espressif.com:443/viewtopic.php?t=436&p=1674#p1674 <![CDATA[Re: 關於時間的處理]]>
rtc system_rtc_clock_cali_proc : 23363
rtc time : 42178
system time : 256198
rtc mem val : 0x3ffffb40,rtc_reg_val
rtc mem val write
rtc mem val : 0x3ffffb40,rtc_reg_val
rtc time : 221591
system time : 1280770
delta time rtc: 179413
delta system time rtc: 1024572
clk cal 0: 23398
clk cal 10: 22
clk cal 11: 11
clk cal 12: 5

rtc system_rtc_clock_cali_proc : 23405
rtc time : 227103
system time : 1312261
rtc mem val : 0x3ffffb40,rtc_reg_val
rtc mem val write
rtc mem val : 0x3ffffb40,rtc_reg_val
rtc time : 408967
system time : 2351412
delta time rtc: 181864
delta system time rtc: 1039151
clk cal 0: 23404
clk cal 10: 22
clk cal 11: 11
clk cal 12: 5

Statistics: Posted by alexchang — Mon May 11, 2015 2:47 pm


]]>
2015-05-11T14:49:41+08:00 2015-05-11T14:14:06+08:00 https://bbs.espressif.com:443/viewtopic.php?t=436&p=1673#p1673 <![CDATA[Re: 關於時間的處理]]> clk cal : 6

這樣乘起來就對了,因為文件看到 5 乘起來數字不對,所以產生了困擾,這樣知道怎麼計算了。

還是有問題 ...
dloga("clk cal 0: %d",system_rtc_clock_cali_proc());
dloga("clk cal 12: %d ",system_rtc_clock_cali_proc()>>12);

system_rtc_clock_cali_proc() / 4096 所得結果是 µs,但並無法很準確。

Statistics: Posted by alexchang — Mon May 11, 2015 2:14 pm


]]>
2015-05-10T23:02:44+08:00 2015-05-10T23:02:44+08:00 https://bbs.espressif.com:443/viewtopic.php?t=436&p=1670#p1670 <![CDATA[關於時間的處理]]>
假設我可以從遠端或 App 取得當前時間,我要如何在接下來透過 rtc time 跟 system time 推算後面的時間呢?
我有測試輸出這樣的內容:
clk cal : 5
rtc time : 45939
system time : 284384
rtc mem val : 0x3ffffb50,rtc_reg_val
rtc mem val write
rtc mem val : 0x3ffffb50,rtc_reg_val
rtc time : 887331
system time : 5302407
delta time rtc: 841392
delta system time rtc: 5018023

中間延遲了 5 秒,我這樣推論,
第一次取得時間到第二次取得時間中間連同運算是 5.018023 的時間間格,那 rtc 841392 是不是 等於 5.018023 ? 我可以這樣推算後面的運算嗎?感謝!

Statistics: Posted by alexchang — Sun May 10, 2015 11:02 pm


]]>