Kompilierdatum/-zeit in den Code in XC8 einfügen

Ich schreibe gerade Code für eine Echtzeituhr und möchte den Code mit Konstanten für Datum und Uhrzeit der Kompilierung kompilieren, um ihn sofort nach dem Programmieren auf die Uhr zu brennen.

Ich glaube, ich habe das schon einmal gesehen, aber meine Suche war erfolglos. Gibt es eine Art Kompilierzeit-Makro, das dies tun würde? Etwas wie:

rtc.second = __COMPILE_SECOND;
rtc.minute = __COMPILE_MINUTE;
rtc.hour   = __COMPILE_HOUR;
rtc.date   = __COMPILE_DATE;
rtc.month  = __COMPILE_MONTH;
rtc.year   = __COMPILE_YEAR;

Antworten (1)

Aus dem XC8 C Compiler Users Guide , Seite 229:-

5.14.3 Vordefinierte Makros

__DATE__ to indicate the current date eg. May 21, 2004 
__TIME__ to indicate the current time eg. 08:06:31

Sie können diese Zeichenfolgen analysieren, um Zahlen zu erhalten, die mit Ihrer RTC kompatibel sind, aber was ist der Sinn einer Echtzeituhr, die nicht die Echtzeit hat?

Wie auch immer, schauen Sie sich diese Stack Overflow-Frage an , um eine Möglichkeit zu finden.

Das wird funktionieren. Und dies dient nur zum Einstellen der RTC beim Kompilieren. Danach behält die RTC die Zeit bei. Dies befindet sich noch in der frühen Entwicklung und ich war genervt davon, dass ich diese Konstanten ständig aktualisieren musste, bevor ich kompilierte, um die richtige Zeit einzugeben.