[erledigt] 'RTC' was not declared in this scope :-()

hi

ich habe mir diese time-Lib runtergeladen: Time Library, Timekeeping and Time/Date Manipulation on Teensy

Beim compilieren unter der 1.0.5 der Beispiele kommt diese Fehlermeldung:

TimeRTCSet.ino: In function 'void setup()':
TimeRTCSet:18: error: 'RTC' was not declared in this scope

irgendwie steh ich jetzt im Wald

kann mir mal jemand einen virtuellen Klaps auf den Hinterkopf geben und mir sagen an welcher Ecke ich den Fehler suchen muss?

Gruss

Hallo,
"irgendwie steh ich jetzt im Wald"

dann komm da mal raus...
Die Lib läuft- wie wäre es mit etwas mehr CodeInfo?
Gruß und Spaß
Andreas

Ist der ein Beispielcode aus der Lib (http://www.pjrc.com/teensy/arduino_libraries/Time.zip)

/*
 * TimeRTCSet.pde
 * example code illustrating Time library with Real Time Clock.
 *
 * RTC clock is set in response to serial port time message 
 * A Processing example sketch to set the time is included in the download
 * On Linux, you can use "date +T%s > /dev/ttyACM0" (UTC time zone)
 */

#include <Time.h>  
#include <Wire.h>  
#include <DS1307RTC.h>  // a basic DS1307 library that returns time as a time_t


void setup()  {
  Serial.begin(9600);
  while (!Serial) ; // Needed for Leonardo only
  setSyncProvider(RTC.get);   // the function to get the time from the RTC
  if (timeStatus() != timeSet) 
     Serial.println("Unable to sync with the RTC");
  else
     Serial.println("RTC has set the system time");      
}

void loop()
{
  if (Serial.available()) {
    time_t t = processSyncMessage();
    if (t != 0) {
      RTC.set(t);   // set the RTC and the system time to the received value
      setTime(t);          
    }
  }
  digitalClockDisplay();  
  delay(1000);
}

void digitalClockDisplay(){
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.print(" ");
  Serial.print(day());
  Serial.print(" ");
  Serial.print(month());
  Serial.print(" ");
  Serial.print(year()); 
  Serial.println(); 
}

void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

/*  code to process time sync messages from the serial port   */
#define TIME_HEADER  "T"   // Header tag for serial time sync message

unsigned long processSyncMessage() {
  unsigned long pctime = 0L;
  const unsigned long DEFAULT_TIME = 1357041600; // Jan 1 2013 

  if(Serial.find(TIME_HEADER)) {
     pctime = Serial.parseInt();
     return pctime;
     if( pctime < DEFAULT_TIME) { // check the value is a valid time (greater than Jan 1 2013)
       pctime = 0L; // return 0 to indicate that the time is not valid
     }
  }
  return pctime;
}

Hallo,
ich habe Deinen Code mit C&P bei mir eingefügt. Dann- überprüfen...
Ich habe keine FehlerMeldungen.
Hast Du die Lib´s richtig zugeordnet/installiert?
Gruß und Spaß
Andreas

hi

SkobyMobil:
ich habe Deinen Code mit C&P bei mir eingefügt. Dann- überprüfen...
Ich habe keine FehlerMeldungen.

danke, damit ist eine mögliche Fehlerquelle ausgeschlossen. Hätte mich auch gewundert wenn der Beispielcode fehlerhaft wäre.

[/quote]Hast Du die Lib´s richtig zugeordnet/installiert?[/quote]

Das wäre eine Möglichkeit.

Ich hab die Time-Lib ins Library-Verzeichnis kopiert und die Arudino-IDE neu gestartet. Das müsste doch reichen - oder?

Gruss

Probier es mal mit der Import Funktion der IDE:

Hallo,
gibt es auch in de
http://arduino.cc/de/Guide/Libraries
Gruß und Spaß
Andreas

hi

Serenifly:
Probier es mal mit der Import Funktion der IDE:

http://arduino.cc/en/Guide/Libraries

danke für den Hinweis. Weder die manuelle noch die automatische Lib-Installation (über Add Library) hat das Problem beseitigt.

beim Überprüfen klemmt es in dieser Zeile:

setSyncProvider(RTC.get); // the function to get the time from the RT

=> TimeRTCSet:18: error: 'RTC' was not declared in this scope

:-()

Gruss

Hallo,
kann es sein, dass Du den Code im eigenem Sketch nutzt. Und die Variablen in verschiedenen Funktionen liegen?
Sonst fällt mir da nichts mehr zu ein...
Gruß und Spaß
Andreas

hi

SkobyMobil:
kann es sein, dass Du den Code im eigenem Sketch nutzt. Und die Variablen in verschiedenen Funktionen liegen?

ich will zunächst mal eines der Beispiele die bei der Lib dabei sind zum Laufen bringen.

hab also am Code noch nichts geändert und die Lib auch noch nicht anderweitig verwendet.

Gruss

Willst du unbedingt die Time Lib nutzen, oder tut es auch erst mal eine andere RTC Lib?

Sollte aber funktionieren wenn es korrekt installiert wurde. Seltsam.

Ausführliche Fehlermeldungen an:
Sieht man dann eine Warnung, dass er die .h Datei gar nicht findet ?

Aber seltsam ist es schon: Wenn er dir die Library zum Importieren anbietet, sollte sie auch zu finden sein ...

Hallo,
"TimeRTCSet:18: error: 'RTC' was not declared in this scope"

Dieser Fehler läßt sich bei mir reproduzieren.
Wenn die "DS1307RTC.h", nicht oder falsch installiert ist, dann kommt der.
So sollte der Kopf u.a. dargestellt werden:
#include <DS1307RTC.h>
#include <Time.h>
#include <Wire.h>
Gruß und Spaß
Andreas

hi

SkobyMobil:
Hallo,
"TimeRTCSet:18: error: 'RTC' was not declared in this scope"

Dieser Fehler läßt sich bei mir reproduzieren.
Wenn die "DS1307RTC.h", nicht oder falsch installiert ist, dann kommt der.

bingo! das wars

danke für den virutellen Klaps auf den Hinterkopf.

Falls später auch andere Arduinoaner die selbe Fehlermeldung bekommen:

=> Diese time-Library benötigt die DS1307RTC-Library

Bei meinem hin- und her hab ich diese Lib wieder deinstalliert und nicht mehr drangedacht diese wieder zu installieren.

Jetzt tuts!

Vielen Dank für Eure Unterstützung.

Gruss