พอดีตอนนี้ผมได้ทำโครงงานทำนาฬิกาจากบอร์ดอะอะครับแล้วผมเขียนโค๊ดลงไปแล้วมันเอเร่ออะครับโคดตัวนี้อะครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <TM1637Display.h>
#define CLK 2
#define DIO 3
unsigned long previousMillis;
bool showdot = false;
String SerialGET = "";
TM1637Display display(CLK, DIO);
void setup() {
Serial.begin(9600);
}
void loop() {
tmElements_t tm;
if (!RTC.read(tm)) {
tm.Hour = 0;
tm.Minute = 0;
tm.Second = 0;
RTC.write(tm);
}
display.write(tm.Hour / 10, 0);
display.write(tm.Hour % 10, 1);
display.write(tm.Minute / 10, 2);
display.write(tm.Minute % 10, 3);
// Dot blink
unsigned long currentMillis = millis();
if (currentMillis - previousMillis > 500) {
previousMillis = currentMillis;
display.dotShow(showdot = !showdot);
}
while (Serial.available()) {
char c = Serial.read();
if (c == '\n') {
int Hour, Min, Sec;
if (sscanf(SerialGET.c_str(), "%d:%d:%d", &Hour, &Min, &Sec) == 3) {
tm.Hour = Hour;
tm.Minute = Min;
tm.Second = Sec;
RTC.write(tm);
Serial.print("Set to ");
Serial.print(Hour);
Serial.print(":");
Serial.print(Min);
Serial.print(":");
Serial.print(Sec);
Serial.println();
} else {
Serial.println("Invalid format, Please enter Hour:Min:Sec");
}
SerialGET = "";
}
else
SerialGET += c;
}
}
แล้วมันก็เตือนตัวนี้อะครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้In file included from C:\Users\Administrator.XPGVFZN0PO9TS3M\Documents\Arduino\libraries\DigitalClockRTC1307\DigitalClockRTC1307.ino:3:0:
C:\Users\Administrator.XPGVFZN0PO9TS3M\Documents\Arduino\libraries\DS1307RTC/DS1307RTC.h:19:22: error: 'tmElements_t' has not been declared
static bool read(tmElements_t &tm);
^
C:\Users\Administrator.XPGVFZN0PO9TS3M\Documents\Arduino\libraries\DS1307RTC/DS1307RTC.h:20:23: error: 'tmElements_t' has not been declared
static bool write(tmElements_t &tm);
^
C:\Users\Administrator.XPGVFZN0PO9TS3M\Documents\Arduino\libraries\DigitalClockRTC1307\DigitalClockRTC1307.ino: In function 'void loop()':
DigitalClockRTC1307:15: error: 'tmElements_t' was not declared in this scope
tmElements_t tm;
^
DigitalClockRTC1307:16: error: expected primary-expression before ')' token
if (!RTC.read(tm)) {
^
DigitalClockRTC1307:17: error: expected unqualified-id before '.' token
tm.Hour = 0;
^
DigitalClockRTC1307:18: error: expected unqualified-id before '.' token
tm.Minute = 0;
^
DigitalClockRTC1307:19: error: expected unqualified-id before '.' token
tm.Second = 0;
^
DigitalClockRTC1307:20: error: expected primary-expression before ')' token
RTC.write(tm);
^
DigitalClockRTC1307:22: error: expected primary-expression before '.' token
display.write(tm.Hour / 10, 0);
^
DigitalClockRTC1307:23: error: expected primary-expression before '.' token
display.write(tm.Hour % 10, 1);
^
DigitalClockRTC1307:24: error: expected primary-expression before '.' token
display.write(tm.Minute / 10, 2);
^
DigitalClockRTC1307:25: error: expected primary-expression before '.' token
display.write(tm.Minute % 10, 3);
^
DigitalClockRTC1307:37: error: expected unqualified-id before '.' token
tm.Hour = Hour;
^
DigitalClockRTC1307:38: error: expected unqualified-id before '.' token
tm.Minute = Min;
^
DigitalClockRTC1307:39: error: expected unqualified-id before '.' token
tm.Second = Sec;
^
DigitalClockRTC1307:40: error: expected primary-expression before ')' token
RTC.write(tm);
^
exit status 1
'tmElements_t' was not declared in this scope จะแก้ยังไงอะครับงานครูก็เร่งให้ส่งแล้วอะครับ
ใครก็ได้ช่วยแก้โค๊ดบอร์ดอาดุลโน่หน่อย
แล้วมันก็เตือนตัวนี้อะครับ [Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้ จะแก้ยังไงอะครับงานครูก็เร่งให้ส่งแล้วอะครับ