RV-2123-C2

Hallo Forum :slight_smile:

Ich habe ein Controllino Mini erstanden.
Da ist eine RTC Modell "RV-2123-C2" drin verbaut die per SPI angesteuert werden kann.
Das ist das erste mal dass ich mich an sowas ohne library heranwage (falls einer eine kennt->posten :wink: )

Dazu habe ich eine Bedienungsanleitung gefunden.

http://www.tamadevice.co.jp/pdf/mc/rtc/RV-2123-C2_App-Manual_V1[1].0.pdf

Auf Seite 26 ist die Ansteuerung per SPI erklärt.
Wenn ich das richtig verstanden habe verschicke ich einen "Command-byte" in dem mit ich read oder write wähle, plus die Adresse des Chips und dann das erste register (zB. "Stunden") welches ich ansteuern will.
Danach jeweils ein byte mit dem Wert für das enstrpechende register. Nach jedem byte springt der Chip automatisch zum nächsten register.
Beim Read schicke ich nur der Command-byte und empfange dann auf dem Miso-Kanal die enstrpechenden Werte.

Jetzt frage ich mich wie ich das am besten in ein Programm verpacke.

Aus der Seite der SPI library ist für mich nicht ersichtlich wie ich gezielt einen bit verschicke oder auslese.

transfer() sendet und empfängt ein Byte. Zum Empfangen machst du transfer(0)

Wenn du dann davon ein Bit willst, gibt es dazu die übliche Bit-Fummelei. Oder das Arduino Komfort-Makro bitRead()

Ich versuchs mal damit und berichte hier.

Wie rufe ich denn das empfangene Byte auf?

Das ist eine ganz normale Funktion mit einem Rückgabewert

Wird auch aus der Doku klar, wenn man erst mal kapiert hat dass die Funktion zwei Sachen gleichzeitig macht (was etwas ungewöhnlich ist):

Returns

the byte read from the bus.