1.下載相關函式庫 DS1302
https://github.com/msparks/arduino-ds1302
[javascript]
#include <stdio.h>
#include <DS1302.h>
const int kCePin = 5; //RST
const int kIoPin = 6; //DAT
const int kSclkPin = 7; //CLK
DS1302 rtc(kCePin, kIoPin, kSclkPin);
void printTime() {//顯示日期時間的函式
Time t = rtc.time();
char buf[50];
snprintf(buf, sizeof(buf), "%04d-%02d-%02d %02d:%02d:%02d",
t.yr, t.mon, t.date,
t.hr, t.min, t.sec);
Serial.println(buf);
}
void setup(){
Serial.begin(9600);
rtc.writeProtect(false);// 是否防止寫入 (日期時間設定成功後即可改成true)
rtc.halt(false);// 是否停止計時
Time t(2016, 5, 04, 22, 06, 50, Time::kSunday); //年 月 日 時 分 秒 星期幾 (日期時間設定成功後即可註解掉)
rtc.time(t);//設定日期時間 (日期時間設定成功後即可註解掉)
}
void loop(){
printTime();
delay(1000);
}
[/javascript]
//Time::kSunday Time::kMonday Time::kTuesday Time::kWednesday Time::kThursday Time::kFriday Time::kSaturday
註:vcc 與 gnd 腳位一樣要接到主板上才行
[ Arduino ] – RTC 時鐘模組 DS1302
評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 1,平均評等: 5]
評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 1,平均評等: 5]
你好
我用你這組Code
但是會出現兩筆時間
2011-82-82 11:03:28
2016-05-04 22:06:51
請問你有遇過嗎
這隻程式會每隔一秒會 重新顯示日期時間
但setup()會在第一次跑 所以只要你有設定 時間應該都會顯示正確的時間
2011-82-82 11:03:28<=格式好像不是正確的 會不會是你電池已經快沒電之類的?! 我測都有乖乖顯示我給他的日期時間>< ds1302會有時間跑掉的問題,就我目前拿來當時鐘顯示用,用三個月已經慢十一分鐘,建議選更高階一點的會比較好
你好
請問一下
我把程式碼複製貼上
可是他的時間顯示是
2000-00-00 00:00:00
先確認你下載 DS1302 函式庫有確定載入了嗎?
再看腳位對不對
還有ds1302的電池是否有電
函式庫確定有載入
明天我量量看電池還有沒有電跟腳位確認一下
感謝回復~
有了
我以為他在寫的時候他的電池會給模組供電所以沒接3V3
現在功能有正常了
謝謝~~
哦哦!這樣好像是我的文章沒有寫清楚 sorry~
我已經補在文章尾端
如果時間要精準不跑掉 我建議您使用這塊時間模組會比較好 DS3232
我測試的時間也是顯示…
2000-00-00 00:00:00
另外, 水銀電池確定是 3.25V, 杜邦線也插對了D5~7, 5V, GND…
不知道有沒有可以檢測chip是否壞了的方法,
我的這組RTC應該是壞了…^^
檢測晶片這太專業,我也不會可能要問電子科的才知道吧!…
你先確認 晶片上面是否有 DS1302 的字樣,看是不是用錯函式庫…
不好意思我又來了XD
那個我得到的畫面如下:
2016-05-04 22:06:51
2005-41-41 08:81:14
2016-05-04 22:06:53
2011-82-82 11:03:30
2016-05-04 22:06:55
2005-41-41 08:81:15
2016-05-04 22:06:57
2011-82-82 11:03:32
2016-05-04 22:06:59
2011-82-82 11:03:00
2016-05-04 22:07:01
2005-41-41 08:81:40
2016-05-04 22:07:03
2011-82-82 11:03:02
2016-05-04 22:07:05
只有開頭是2016那幾行是對的
其他是錯的
我是使用跟您一樣的程式全部複製貼上的方式
Vcc及Gnd還有I/O,RESET,SCLK也確定有接到板板上
請問一下這可能是我哪裡出錯了呢?
補充一下
我的IC模組有換過新的
電池也有換新的過
也都是一樣的情況
我用一樣的程式碼測 都正常顯示
你要不要拍你的時鐘模組 跟接線的圖給我看看
此問題主要是電壓源干擾,DS1302很容易被干擾,請將DS1302電源線縮短,減少干擾可能,問題就可解決
不好意思,我的DS1302時鐘模組一樣線有接對,電池新的,程式也是對的,第一次執行時會跑出正確時間,但第二次會跑出
2000-00-00 00:00:00
2000-00-00 00:00:00
2000-00-00 00:00:00
請問一下,我的線有接對、程式正確、電池也是新的,第一次執行時間時,會正確跑出正確時間,但是之後卻變成
2000-00-00 00:00:00
2000-00-00 00:00:00
2000-00-00 00:00:00