RTC - 使用 NTP 校正 DS1307/DS3231 RTC 時間
材料準備
- Ameba x 1
- DS1307/DS3231 RTC x 1
範例說明
這個範例裡會使用NTP來對DS1307/DS3231 RTC模組做時間校正
我們需要這幾個library:
我們需要這幾個library:
DS1307RTC library:
https://github.com/ambiot/amb1_arduino/raw/master/Arduino_libraries/DS1307RTC-1.0.0.zip
https://github.com/ambiot/amb1_arduino/raw/master/Arduino_libraries/DS1307RTC-1.0.0.zip
RTL8195接線圖如下:
![1](/wp-content/uploads/2016/05/NTP1-6.png)
![1](/wp-content/uploads/2016/05/NTP1-6.png)
RTL8710接線圖如下:
接著打開範例 “File” -> “Examples” -> “AmebaDS1307RTC” -> “SetTimeNtp”
修改Wifi連線需要的ssid與password,編譯並上傳至Ameba,完成之後按下Reset按鈕。接著可以在Serial Monitor看到底下的log, 代表已從NTP校正完成。
程式碼說明
在Wifi連線上之後,我們使用NTP對Time library做時間校正
setSyncProvider(getNtpTime);
接著使用Time library得到的時間設定tmElements_t變數的值,然後傳進RTC.write()裡面
RTC.write(tm);
接著在loop()裡面每秒讀出RTC的時間
Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. Terms of Use