rfm02 wakeuptimer Problem

OP #1799549
Lesenswert?

Liebe Forengemeinde,
Ich habe ein Problem mit dem wakeuptimer im RFM02 Modul.Nach der Doku 
berechnet sich das Zeitinterwall: T = M * 2 ** r  Millisekunden:
1
1 1 1 r4  r3 r2 r1 r0  m7 m6 m5 m4  m3 m2 m1 m0   wakeup command
2
1 1 1 0   1  0  1  0   0  0  0  0   0  0  0  1    binär
3
   E          A             0            1        hex

Ich initialisiere den Timer mit:
1
rfm02_send_cmd(0xEA00 + 1);  // WakeUp-Timer 2^10 *1ms ~ 1024ms ~ 1s

et im Powermanagement ist natürlich gesetzt.

Damit sollte alle 1024ms bzw ca jede Sekunde ein Aufwachen erfolgen

das Ergebniss ist aber, das alle 10 s der angeschlossene AtTiny 
aufgeweckt wird.  Jeder andere Wert für M führt jeweils um eine Faktor 
10 größeren Wert, dh zB. mit m = 10 wird alle 100sec aufgeweckt.

Nach dem Aufwachen wird auch das et Bit zuerst auf 0 gesetzt und vor dem 
erneuten Einschlafen des RFM02 Moduls wieder gesetzt:
1
rfm02_send_cmd(0xC0E0);                   // einschalten, et:0
2
// Sendecode, funktioniert einwandfrei
3
//
4
rfm02_send_cmd(0xC002);                   // alles aus, wakeuptimer ein et:1
5
rfm02_send_cmd(0xC440);                   // sleep, noch 64 Takte

Bis auf das um den Faktor 10 verkehrte Timing funktioniert alles 
einwandfrei. Hat jemand vielleicht eine Erklärung hierfür oder übersehe 
ich irgendetwas?

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