Autor Thema: nRF24l01+ Register auslesen  (Gelesen 4336 mal)

Offline hannes

  • Newbie
  • *
  • Beiträge: 39
    • Profil anzeigen
nRF24l01+ Register auslesen
« am: Juli 17, 2014, 22:15:32 Nachmittag »
Hallo
Hat irgendeiner einen codschnipsel zum ansteuern des nRF24l01+.Ich versuche schon seit Tagen die Register auszulesen,das Status Register wird immer Richtig angezeigt (00001110) und die Nachfolgenden immer(01010101).Ich kann leider im Moment meinen Code nicht rein stellen weil mein Programmier Rechner kein Internetanschluß hat und ich hier die Sache mit dem Tablet schreiben muß. Ich habe schon etliche Sachen im Netz nachgelesen aber ne Lösung habe ich nicht gefunden.

Gruß
HJK

Offline hannes

  • Newbie
  • *
  • Beiträge: 39
    • Profil anzeigen
Re: nRF24l01+ Register auslesen
« Antwort #1 am: Juli 18, 2014, 01:45:54 Vormittag »
Hallo
So ich habe noch mal rum experimentiert könnte die SPI Schnittstelle sein.Ich habe im Netz gelesen,das das timing
vom 16f88 nicht ganz passt mit dem Modul.Mal ein anderen Quarz nehmen soll angeblich am besten mit nem
8 MHz laufen ,ich habe jetzt einen 10 MHz drann.Wenn ich einzelne Bytes Auslese sieht das ganz gut
aus,bei mehreren das gleiche Problem.Hat hier noch niemand Erfahrungen gemacht mit dem Modul?

Gruß
HJK

Offline deKatz

  • Jr. Member
  • **
  • Beiträge: 56
    • Profil anzeigen
Re: nRF24l01+ Register auslesen
« Antwort #2 am: Juli 18, 2014, 06:00:59 Vormittag »
Ich habe keine Codeschnippsel dafür, aber an der Quarzfrequenz liegt es kaum.
Das SPI-Modul des F88 arbeitet mit maximal Fosc/4, das wären bei 10MHz dann 2,5MHz und das ist noch weit von der für den rFxxxxx angegebenen maximalen 8MHz für das SCK-Signal entfernt.
Aber um es endgültig auszuschliessen kannst du ja das SPI-Modul auf Fosc/16 einstellen ( SSPCON.SSPM<3:0> = 0b0001).

Offline hannes

  • Newbie
  • *
  • Beiträge: 39
    • Profil anzeigen
Re: nRF24l01+ Register auslesen
« Antwort #3 am: Juli 18, 2014, 18:15:31 Nachmittag »
Hallo
Asche auf mein Haupt.Ich habe den Fehler nach langer suche gefunden ,war im Software UART.Ich habe hinter
dem movf Befehl kein komma gesetzt und dadurch nicht angegeben wohin abgespeichert werden soll,natürlich nur in den
nachfolgenden Bytes nach Statusregister,läuft jetzt super.
Ich habe jetzt noch mal eine Frage.Ich möchte mit der UART Schnittstelle dem Pic einige Kommando geben und er soll dann verschiedene Aktionen ausführen ich habe im Moment noch keine Idee wie er die Kommandos erkennt .
Es müsste so eine Art Tabelle sein wo die Befehle ,die passende Aktion ausführt.Vielleicht habt ihr ein Paar Ideen.

Gruß
HJK

picalic

  • Gast
Re: nRF24l01+ Register auslesen
« Antwort #4 am: Juli 18, 2014, 20:01:28 Nachmittag »
Hallo Hannes,

die Verzweigung über eine Sprungtabelle kannst Du machen, indem Du den Tabellenindex zum PCL-Register addierst, z.B.:
Verzweige
movf kommando,W ;Kommandocode laden
addwf PCL,F
goto Aktion_0 ;Ausführung Kommando = 00
goto Aktion_1 ;Ausführung Kommando = 01
goto Aktion_2 ;Ausführung Kommando = 02
goto Aktion_3 ;Ausführung Kommando = 03
goto Aktion_4 ;Ausführung Kommando = 04
goto Aktion_5 ;Ausführung Kommando = 05
... usw.

Achtung: die Addition auf PCL kennt keinen Übertrag nach PCH, daher darf die Tabelle keine 256 Byte Pagegrenze überschreiten!

Grüße,

Thomas

Offline deKatz

  • Jr. Member
  • **
  • Beiträge: 56
    • Profil anzeigen
Re: nRF24l01+ Register auslesen
« Antwort #5 am: Juli 19, 2014, 04:29:10 Vormittag »
Ich möchte mit der UART Schnittstelle dem Pic einige Kommando geben und er soll dann verschiedene Aktionen ausführen ich habe im Moment noch keine Idee wie er die Kommandos erkennt .
Es müsste so eine Art Tabelle sein wo die Befehle ,die passende Aktion ausführt.Vielleicht habt ihr ein Paar Ideen.

In demZusammenhang empfehle ich immer die AN556 "Implementing a Table Read" von MICROCHIP (einfach nach AN556 googeln).
Dort wirden auch Tabellen über die 256-Byte Grenze und Pagegrenzen hinweg erklärt.

Offline hannes

  • Newbie
  • *
  • Beiträge: 39
    • Profil anzeigen
Re: nRF24l01+ Register auslesen
« Antwort #6 am: Juli 21, 2014, 20:54:37 Nachmittag »
Hallo
Besten Dank für die Antworten hat mich auf jeden Fall weiter gebracht .Sehr guter Tipp mit der AN 556.
Jetzt habe ich aber noch eine Frage.
Hat jemand vielleicht eine Grundeinstellung von dem Modul zum Senden und Empfangen?Muss
auch nichts besonderes sein Haubtsache ich bekomme die Dinger mal an Laufen und kann mich dann auf das
"Feintunning" Konzentrieren.
Gruß
HJ

 


* Recent Topics