Forum: Mikrocontroller und Digitale Elektronik RFM12 von Benedikt reagiert nicht mehr nach fehlerhafter/keiner Antwort


von Jörn A. (joern_)


Lesenswert?

Hy

ich kommuniziere zur Zeit zwischen zwei RFM12 und dem Code von Benedikt.
Das ganze funktionert perfekt aber wollte mal testen, wenn der Slave 
z.B. durch Störungen nicht antwortet. habe ihn daher für 10 Sekunden 
ausgeschaltet....

Leider sendet mein Master, nachdem er einemal keine Antwort vom Slave 
bekam nix mehr (erst wieder nach reset des Master)

Damit er nicht dort hängen bleibt und ewig wartet habe den Timer. Dieser 
wird vor der Empfangsfunktion immer Timer =0 gesetzt. Das Timer  zählt 
per ISR hoch nach 5 Sekunden bricht er mit break ab siehe Code....

Das Programm läuft wunderbar in einer Schleife aber er sendet einfach 
nicht mehr, sobald einmal keine Antwort kam. Das ist dann leider das 
Ende der Kommunikation da ohne Befehl keine Antwort mehr vom Slave :D

das habe ich hinzugefügt:
1
void rf12_ready(void)
2
{  
3
cbi(RF_PORT, CS);
4
  while (!(RF_PIN&(1<<SDO))) // wait until FIFO ready
5
  {
6
    if (Timer > 10)
7
    {
8
    error=1;
9
    break;
10
    }
11
  }
12
}

habe auch versucht, nachdem der Master nichts mehr vom Slave bekommen 
hat vor dem nächsten Sendeversuch einfach die komplette INIT() des RFM12 
neu durchlaufen zu lassen aber es kommt nichts mehr!! kann mir jemand 
erklären woran das liegt? er nach dem reset des Master geht alles wieder 
wunderbar. (slave unverändert)

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.