RFM01 Übertragung funktioniert nIRQ ist jedoch immer High => Interruptbetrieb nicht möglich?

Gast #1135906
Lesenswert?

Hallo

Ich hab mir eine Funkübertragung mit einem RFM01 und einem RFM02 Modul 
aufgebaut welche soweit auch ganz gut funktioniert

Wenn ich das Empfangen starte hängt der µC jedoch in einer Schleife, bis 
die Daten ankommen ( ==>   while(!(RFPIN&(1<<SDO)));   )

Wenn ich eine Interrupt Routine erstelle bekomme ich am nIRQ Pin jedoch 
immer ein "High" (der Pin geht nie auf "Low").

Hat vl irgendjemand eine Lösung welche mit Interrupts funktioniert?

SDO mit einem Interrupt abfragen haut nicht so wirklich hin, da am SDO 
Pin auch die Daten rauskommen.
#1138939
Lesenswert?

Braucht man irgendeine bestimmte Einstellung damit das Funktioniert?

Weil nIRQ bleibt bei mir immer auf High (Ich muss auch vor der 
Übertragung den SDO Pin anstatt den im Datenblatt beschriebenen nIRQ Pin 
abfragen)

Kannst du vl einen kurzen Codeschnippsel posten?

Nur welchen Pin du abfragst und wie du dann den FIFO ausliest.

Funktionieren tut es bei mir ja nur bekomme ich diese while Schleife 
nicht weg.
#1140233
Lesenswert?

A. K. wrote:
> codebeispiel

danke

sehe ich das richtig das du den Fifo Fill Interrupt nicht direkt 
abfragst sonndern bei einem Interrupt das Statusregister liest und wenn 
ein Fifo Fill Interrupt vorliegt du dir die Daten aus dem Fifo holst?

"Abschalten" kann man den nIRQ Pin nicht, sehe ich das richtig? Weil 
irgendwie tut der bei mir gar nichts. Oder kann das daran liegen das der 
Fifo Fill Interrupt bei mir aktiviert ist?
#1140257
Lesenswert?

Benjamin K. wrote:

> sehe ich das richtig das du den Fifo Fill Interrupt nicht direkt
> abfragst sonndern bei einem Interrupt das Statusregister liest und wenn
> ein Fifo Fill Interrupt vorliegt du dir die Daten aus dem Fifo holst?

Ja. Ich weiss allerdings nicht was du mit "den Fifo Fill Interrupt 
direkt abfragen" meinst.

> "Abschalten" kann man den nIRQ Pin nicht, sehe ich das richtig? Weil

Nö, wozu auch. Den IRQ-Input vom Controller kannst du ja abschalten oder 
weglassen, wenn der dich stört.

Viel mehr kann ich zu deinem Problem nicht beitragen, schon allein weil 
du nicht sonderlich viel Information rausrückst und mir deine Prosa 
nicht wirklich verständlich ist.
#1140348
Lesenswert?

der SDO Ausgang ist gleichzeitig auch der Fifo Fill Interrupt Ausgang, 
welchen ich in meiner while Schleife abfrage. Das meine ich mit direkt 
abfragen.

Naja mit etwas Glück kann ich heute mal ein wenig mit nem Oszi messen 
dann sehe ich ob sich am nIRQ Pin wirklich überhaupt gar nichts tut so 
wie es jetzt scheint.
Gast #1140588
Lesenswert?

Hab jetzt das ganze noch einmal mit einem Oszilloskop durchgemessen.

Komischerweise scheint mein nIRQ Pin immer Low zu sein und der FFIT Pin 
scheint immer High zu sein. Eigentlich sollte das jedoch umgekehrt sein 
da nIRQ Low aktiv ist und FFIT High aktiv.

Hat jemand eine Idee, woran das liegen kann?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren