Forum: Mikrocontroller und Digitale Elektronik RFM22B kombination zwischen empfangen und senden


von horst (Gast)


Lesenswert?

Hallo zusammen!

Ich habe mithilfe der Quelldateien von Ulrich mein Programm erweitert.
Soweit funktioniert eigentlich alles, bis ich vor einem emfpang sende 
(können auch minuten vergehen). Dann kann ich zwar weiterhin senden aber 
das empfangen haut nicht mehr hin.

Die "empfangen()" Funktion wird in der main hauptschleife ständig 
ausgeführt. welche auch (hab ich getestet) nach dem senden noch 
durchlaufen wird. "cnt" hat dann immer den Rückgabewert 0.
1
int empfangen()
2
{
3
  unsigned char cnt;
4
  PORTB &= ~(1<<0);  
5
  cnt = rf22_getpacket(rx_tmp);
6
  if (cnt!= 0)
7
  {
8
    for (unsigned char a = 0;a<cnt;a++)
9
    {
10
      sichern(rx_tmp[a]);
11
      usart_tx_c(rx_tmp[a]);
12
    }
13
    PORTB |= (1<<0);
14
  }
15
}
16
17
18
int senden()
19
{
20
  PORTB |= (1<<0);
21
  rf22_sendpacket((unsigned char*)temp,PAKETGROESSE);
22
  PORTB &= ~(1<<0);
23
}

von Carsten M. (ccp1con)


Lesenswert?

Ich kenne das Programm von Ulrich nicht.
Aber für RFM22B gilt: Senden beendet den Empfangsmodus.

Gibt es sowas wie "Gehe wieder in Empfang" in seinem Programm?

von horst (Gast)


Lesenswert?

Nein, soweit ich gesehen habe nicht.
Aber ich muss nochmal an die Sache ran bzw den Quellcode genauer 
durchforsten.

von horst (Gast)


Lesenswert?

Doch natürlich gibt es sowas. Ich muss das mal schnell testen!

von horst (Gast)


Lesenswert?

Funktioniert!

Danke, wie konnte ich das nur übersehen frag ich mich...

von Christoph H. (christoph_b)


Lesenswert?

schade das die Lösung nicht gepostet wurde. Stehe vor dem selben Problem

von Michael (Gast)


Lesenswert?

Christoph B. schrieb:
> Stehe vor dem selben Problem

Und welche Lösungsansätze liegen bereits hinter dir?
Hast du schon mal rf22_rxmode() probiert?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.