Arduino和x27上的DS1302 RTC板输出;s串行监视器

Arduino和x27上的DS1302 RTC板输出;s串行监视器,arduino,serial-port,real-time-clock,Arduino,Serial Port,Real Time Clock,我有一个DS1302 RTC板(Waveshare)连接到Arduino uno 我正在将时间打印到Arduino的串行监视器上,但我得到了奇怪的数字/字符,2-4秒后它停止打印 接线: #include <virtuabotixRTC.h> virtuabotixRTC myRTC(7,8,9); void setup() { Serial.begin(9600); // myRTC.setDS1302Time(30,30,5,5,5,5,2020); } voi

我有一个DS1302 RTC板(Waveshare)连接到Arduino uno

我正在将时间打印到Arduino的串行监视器上,但我得到了奇怪的数字/字符,2-4秒后它停止打印

接线:

#include <virtuabotixRTC.h>

virtuabotixRTC myRTC(7,8,9);

void setup() {

  Serial.begin(9600);
  //  myRTC.setDS1302Time(30,30,5,5,5,5,2020);
}

void loop() {
  myRTC.updateTime();
  Serial.print(myRTC.hours);
  Serial.print(":");
  Serial.print(myRTC.minutes);
  Serial.print(":");
  Serial.println(myRTC.seconds);
}
Vcc->5v

接地->接地

输入/输出(MISO)->引脚12

SCLK->引脚13

CE(CS)->引脚10

使用的库:VirtualBotixRTC库

到目前为止我尝试过的事情:

#include <virtuabotixRTC.h>

virtuabotixRTC myRTC(7,8,9);

void setup() {

  Serial.begin(9600);
  //  myRTC.setDS1302Time(30,30,5,5,5,5,2020);
}

void loop() {
  myRTC.updateTime();
  Serial.print(myRTC.hours);
  Serial.print(":");
  Serial.print(myRTC.minutes);
  Serial.print(":");
  Serial.println(myRTC.seconds);
}
我试了第二块DS1302 RTC板

我试了一个不同的Arduino板

我试着换了跨接导线

我尝试了不同的波特率

代码:

#include <virtuabotixRTC.h>

virtuabotixRTC myRTC(7,8,9);

void setup() {

  Serial.begin(9600);
  //  myRTC.setDS1302Time(30,30,5,5,5,5,2020);
}

void loop() {
  myRTC.updateTime();
  Serial.print(myRTC.hours);
  Serial.print(":");
  Serial.print(myRTC.minutes);
  Serial.print(":");
  Serial.println(myRTC.seconds);
}
#包括
virtualotaixrtc-myRTC(7,8,9);
无效设置(){
Serial.begin(9600);
//myRTC.设置DS1302时间(30,30,5,5,52020);
}
void循环(){
myRTC.updateTime();
串行打印(myRTC.hours);
连续打印(“:”);
串行打印(myRTC.minutes);
连续打印(“:”);
Serial.println(myRTC.seconds);
}
屏幕截图:


这里有什么理由让你将模块连接到引脚10、12和13,但你的草图显示的是
myRTC(7,8,9)
,不是
myRTC(13,12,10)
?这只是之前测试的屏幕截图(我尝试了其他引脚)不管怎样,看看你自己发布的草图代码。它与您的连接描述不匹配在循环中放置延迟(500),而不是持续循环。RTC的响应速度可能不够快。延迟不能解决问题