Forum: Mikrocontroller und Digitale Elektronik Pic18f in Energiesparmodus


von bastler788 (Gast)


Lesenswert?

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

von hanshans (Gast)


Lesenswert?

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

von bastler788 (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.