RFM69 Lib von Arduino zu c

Gast #4018025
Hallo,

ich lese mir gerade die LowPowerLab für das RFM69 Funkmodul durch und 
verstehe eine Sache nicht. Es geht um folgende Zeilen:


https://github.com/LowPowerLab/RFM69/blob/master/RFM69.cpp#L408-L414

https://github.com/LowPowerLab/RFM69/blob/master/RFM69.cpp#L399-L406

Was wird dort mit der Adresse gemacht und warum?

Danke und Gruß M
Gast #4018041
marabou schrieb:
> Was wird dort mit der Adresse gemacht und warum?
1
void RFM69::writeReg(uint8_t addr, uint8_t value)
2
{
3
  select();                        //Wähle das SPI Gerät 
4
  SPI.transfer(addr | 0x80);       //Wähle das Register "addr" zum schreiben
5
  SPI.transfer(value);             //Schreibe Wert von "value" in das Register
6
  unselect();                      //Wähle das Gerät wieder ab
7
}
8

9
uint8_t RFM69::readReg(uint8_t addr)
10
{
11
  select();                         //Wähle das SPI Gerät 
12
  SPI.transfer(addr & 0x7F);        //Wähle das Register "addr" zum lesen
13
  uint8_t regval = SPI.transfer(0); //Lese den Wert aus dem Register
14
  unselect();                       //Wähle das Gerät wieder ab
15
  return regval;                    //Gib den gelesenen Wert zurück!
16
}
#4018061
Martin schrieb:
> Karl Heinz schrieb:
>> Nein, das würde ich nicht sagen.
>> Du hast gerade eine fertige Lib unbrauchbar gemacht.
>
> Warum wird dann zum schreiben ...

Lies das verdammte Datenblatt. Der Hersteller hat das nicht deswegen 
herausgegeben, dass man es ignoriert. Wenn ich, der noch nie etwas mit 
dem Baustein zu tun hatte, die gesuchte Information da drinn in unter 60 
Sekunden finden kann, dann kannst du das auch. Zumal aus dem Code heraus 
recht klar ist, wonach man suchen muss.
Gast #4018066
Martin schrieb:
> Karl Heinz schrieb:
>> Nein, das würde ich nicht sagen.
>> Du hast gerade eine fertige Lib unbrauchbar gemacht.
>
> Warum wird dann zum schreiben
> SPI.transfer(addr | 0x80);
> verwendet und zum lesen
> SPI.transfer(addr & 0x7F);
> ?

Ah habs mir gerade selber beantwortet :)
Gast #4018566
Ah ok jetzt hab ich es gerafft. Der Bezug von der Zeile Quellcode zu dem 
Teil im DB war für mich zu Beginn nicht so schlüssig. Macht wohl die 
Erfahrung.
Danke für die Tipps ;)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.