Hallo Ich habe hier auf einer Platine ein Epson RTC 72421, womit kann man den ansteuern um das Datum und die Uhrzeit neu einzustellen? Gruß Marcel
Wie womit? 4-bit Daten-Register werden über 4-bit Adressen angesteuert. Dazu einige Steuerleitungen. Ardu* Fan-Boy auf Lib-Suche? Komplettes Datenblatt gibt es hier: https://www.manualslib.com/manual/1485699/Epson-Rtc-72421.html
Hatte bis jetzt mit dem Arduino noch nicht soviel zutun gehabt
Dass ist nur Arduino Hass, der wird hier üball ausgekippt wenns nur irgend geht... Aber wie das auf dieser einen einzigen Platine die es gibt auf der dieser Epson RTC Chip verbaut ist - kommt halt eben auf genau diese Platine an! Das Manual/Datasheet findet Google für dich - oder aber die Ardu*-Hater die sich aber nicht zu fein sind ein dummer Suchbot für die Google-Faulen zu sein...
Habe bei google schon geguckt, finde dazu nix passendes. Wo wird denn wo was angeschlossen ?
Marcel schrieb: > Hatte bis jetzt mit dem Arduino noch nicht soviel zutun gehabt Aber jetzt sollst du die Aufgabe mit so einem lösen, oder? Marcel schrieb: > finde dazu nix passendes. Mein Google tut tadellos und findet das hier mit dem ausführlichen Datenblatt: Beitrag "Uhrenbaustein RTC 72421" > Wo wird denn wo was angeschlossen In dem Datenblatt steht das drin.
Marcel schrieb: > Habe bei google schon geguckt, finde dazu nix passendes. Hier hat dir pegel doch schon das Datenblatt verlinkt. Da steht alles drin. pegel schrieb: > Komplettes Datenblatt gibt es hier: > ...
Marcel schrieb: > Ich habe hier auf einer Platine ein Epson RTC 72421, womit kann man den > ansteuern um das Datum und die Uhrzeit neu einzustellen? Diese Funktion hat mit CHatGPT generiert:
1 | #include <stdio.h> |
2 | #include <stdlib.h> |
3 | #include <unistd.h> |
4 | #include <time.h> |
5 | #include "i2c_lib.h" // Bibliothek für I2C-Kommunikation |
6 | |
7 | #define RTC_ADDRESS 0x6F // I2C-Adresse des RTC-Chips |
8 | |
9 | void set_rtc_time(int year, int month, int day, int hour, int minute, int second) { |
10 | // Befehle zum Schreiben in die RTC-Register |
11 | const uint8_t SECONDS_REG = 0x00; |
12 | const uint8_t MINUTES_REG = 0x01; |
13 | const uint8_t HOURS_REG = 0x02; |
14 | const uint8_t DAY_REG = 0x03; |
15 | const uint8_t MONTH_REG = 0x04; |
16 | const uint8_t YEAR_REG = 0x05; |
17 | |
18 | // Daten für die RTC-Register vorbereiten |
19 | uint8_t seconds = ((second / 10) << 4) | (second % 10); |
20 | uint8_t minutes = ((minute / 10) << 4) | (minute % 10); |
21 | uint8_t hours = ((hour / 10) << 4) | (hour % 10); |
22 | uint8_t day = ((day / 10) << 4) | (day % 10); |
23 | uint8_t month = ((month / 10) << 4) | (month % 10); |
24 | uint8_t year = ((year / 10) << 4) | (year % 10); |
25 | |
26 | // Verbindung zum RTC-Chip herstellen |
27 | int fd = i2c_init("/dev/i2c-1"); // öffne I2C-Schnittstelle |
28 | i2c_select_device(fd, RTC_ADDRESS); // wähle RTC-Chip auf der I2C-Schnittstelle aus |
29 | |
30 | // Sende Befehle zum Schreiben in die RTC-Register |
31 | i2c_write_byte(fd, SECONDS_REG, seconds); |
32 | i2c_write_byte(fd, MINUTES_REG, minutes); |
33 | i2c_write_byte(fd, HOURS_REG, hours); |
34 | i2c_write_byte(fd, DAY_REG, day); |
35 | i2c_write_byte(fd, MONTH_REG, month); |
36 | i2c_write_byte(fd, YEAR_REG, year); |
37 | |
38 | // Schließe die Verbindung zum RTC-Chip |
39 | i2c_close(fd); |
40 | } |
Leo schrieb: > Diese Funktion hat mit CHatGPT generiert: Hübsch, nur hat die RTC ein Parallelinterface und nicht I2C. Dafür ist ChatGPT dann doch nicht schlau genug. Georg
Leo schrieb: > Diese Funktion hat mit CHatGPT generiert Bist du ein CHatGPT-Werbebot? Mein Eindruck zu den auch in Beitrag "Re: Hex to Dec -> C" gelieferten Ergebnissen: da ist Google gleich gut.
:
Bearbeitet durch Moderator
Kann man den RTC so an dem Arduino anschließen ?, braucht man dann noch ein Sketch dafür ? Gruß Marcel
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.