Hallo,
ich versuche schon seit einiger Zeit meine Mega128 - CPU (PRO-Bot12 aus dem Schlafmodus zu holen.
Klappt jetzt auch soweit, aber ich habe folgendes Problem:
Code:
void Wait(byte sec) {
Timer_T0Time(245, PS0_1024); // Timer_T0Time(byte, byte) (PS0_1024 = 69,44us)
nValue = sec*10; // 60 * 10 = 600ms
for(k = 0; k < 100; k++) {
for(j = 0; j < nValue; j = j + 17) { // +17, weil 245 * 69,44us ca. 17ms ergibt
Sleep(105); // ADC Noise Reductions - Modus
}
}
}
Wie man sieht wacht diese Funktion alle 17ms aus dem Schlafmodus auf, weil
der Timer0 kein hoeheres Intervall erlaubt (max. 255 (*69,44 = 17,7ms)).
Ich moechte aber das die CPU länger im Sleep-Modus verbleibt.
Ich habe 4 Timer:
Timer0 (8 Bit)
Timer1 (16 Bit)
Timer2 (16 Bit)
Timer3 (16 Bit)
Die CPU wacht aber nur durch den Timer0 auf. Gibt es eine Moeglichkeit, wie man
das umstellen kann, dass die CPU durch einen anderen Timer geweckt wird?
Und ich glaube kaum das durch so vieles Aufwachen effizient Strom gespart wird, oder?
Ich verwende die C-Control Pro IDE.
Freue mich auf jede Antwort !
Lesezeichen