Forum: Mikrocontroller und Digitale Elektronik rfm02 wakeuptimer Problem


von Axel S. (axelac)


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?

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.