RFM69 Lib von Arduino zu c

Gast #4018025
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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 :)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.