Datenübertragung mit nRF24L01+

In dieses Forum gehören all deine Fragen rund um die Elektrotechnik und im Speziellen zum Bereich der Mikrocontrollertechnik.

Datenübertragung mit nRF24L01+

#1

Ungelesener Beitrag pic18 » 6. Nov 2019, 23:11

Ich überlege mir gerade mit nRF24L01+ eine Übertragung zwischen zwei Pics herzustellen. Ich hatte mir das Sendeprogramm vom Nico https://pic-projekte.de/blog/nrf24l01/ angeschaut. Nur bin ich mir nicht im klaren was genau in der Interrupt - Routine programmiert ist. Das eigentliche Senden passiert wohl in der while Schleife in Main? Wird im Interrupt nur überprüft ob das Senden ausgeführt wurde, oder wird hier erst der Zähler von Main gesendet? Evtl. kannst Du Nico mir das Programm genau erklären. Irgendwie stehe ich auf den Schlauch. Funktioniert das ganze auch ohne Interrupt? Ich habe hier keinen freien Interrupt-Port mehr.
Viele Grüße pic18

Re: Datenübertragung mit nRF24L01+

#2

Ungelesener Beitrag Nico » 7. Nov 2019, 06:34

Hi,
Innerhalb der ISR [..] wird überprüft was den Interrupt ausgelöst hat [..] :
  • Daten empfangen, Bit RX_DR
  • Daten gesendet, Bit TX_DS
  • Sendeversuch(e) fehlgeschlagen, Bit MAX_RT
Ich sehe keinen Grund, weshalb du nicht auf den Interrupt verzichten und stattdessen auf Polling setzten kannst. Wie beschrieben (siehe Zitat) informiert dich der Interrupt "nur" darüber, dass eines der drei Ereignisse eingetreten ist.

Das Senden von Daten geschieht mittels Aufruf von wl_module_send(), wie im Beispielprogramm, dass einfach nur einen Zähler inkrementiert und dessen Wert (innerhalb der while Schleife sendet). Klar, dass ist ziemlich "dumm" aber dient dem Zweck der Veranschaulichung, wie die Routinen genutzt werden können.

Gruß Nico

Re: Datenübertragung mit nRF24L01+

#3

Ungelesener Beitrag pic18 » 7. Nov 2019, 10:13

Nico hat geschrieben:
7. Nov 2019, 06:34
Ich sehe keinen Grund, weshalb du nicht auf den Interrupt verzichten und stattdessen auf Polling setzten kannst
Ich habe keinen Int-Port mehr frei. Wenn möchte ich nur eine Flagge setzen und im Hauptprogramm die Flagge abfragen. Steht der Sende und Empfangsstatus solange an?
Ist es möglich ohne großen Aufwand eine bluetooth Tastatur zu betreiben?
Eigentlich wollte ich das ganze über WLAN mit ESP8266 machen. Da ich sowieso übers Internet mit ENC28j60 verbunden bin. Nur habe ich da keine Zeit mich da einzuarbeiten und weiß auch nicht, wie ich mit ESP8266 untereinander zwei oder mehreren PICs unterhalten können.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste