Hallo, ich habe einen Pic18f von Microchip dieser wird über ein netzteil mit 5V versorgt. wird nun dieses Netzteil abgeschaltet dann erfolgt die versorgung mit einer geringeren spannung aus einer Batterie, dabei soll allerdings der Mikrocontroller in einen Energiesparmodus gehen, bei der nur noch die Uhr weiterläuft, damit man diese nach einem Neustart nicht immer neu Stellen muss. wirde das Netzteil wieder eingeschaltet dann soll der Mikrocontroller normal weiterlaufen. Nun würde ich gerne wissen, wie ich dies in der Software umsetzen kann. Hat jemand ein Beispiel für mich? Vielen Dank
hi, also ich würde das mit nem unterspannungsinterrupt lösen. jedoch musst du an deinen VCC einen groß genugen "puffer" baun, damit der µC die Zeit hat in die ISR zu springen und sich sauber runter zu fahren. ob dann aber die Uhr weiter läuft, ist fraglich. Es gibt controller die dafür extra einen Eingang haben für pufferbatterien. mfg
Wenn ich das Netzteil ausschalte wird ein interrupt ausgelöst, wenn ich allerdings das Netzteil wieder einschalte, dann wird kein interrupt mehr ausgelöst. kann mir jemand sagen warum? die Interruptfunktion wir aufgerufen: void high_isr(void) { if(PIR2bits.LVDIF) HLVD_isr(); } void HLVD_isr(void) { PIE2bits.LVDIE = 0; // Interrupt disable HLVDCONbits.HLVDEN = 0; if(HLVDCONbits.VDIRMAG) { HLVDCONbits.VDIRMAG = 0; fSleep = 0; } else { HLVDCONbits.VDIRMAG = 1; fSleep = 1; } HLVDCONbits.HLVDEN = 1; while(!HLVDCONbits.IRVST); PIR2bits.LVDIF = 0; // Interrupt flag reset PIE2bits.LVDIE = 1;// Interrupt enable }
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.