Forum: Mikrocontroller und Digitale Elektronik LPC824 deep sleep


von Andreas B. (bitverdreher)


Lesenswert?

Hallo,
ich habe meinen LPC824 zum testen in einen periodischen Deep sleep 
geschickt. 1s schlafen, dann wieder für ca. 100ms aufwecken. Die Loop 
arbeiten einwandfrei (an der I2c wird jede s gelesen).
Dummerweise erreiche ich den uC jetzt nicht mehr mit SWD (über BMP: 
SWDIO, SWCLK und GND angeschlossen).
Wie bekomme ich den uC wieder programmiert?
1
    while (true) {
2
    OUT2_ON;
3
    /* Wakeup test with 10KHz clock, 1s wakeup, and PMU deep sleep state */
4
    WakeupTest(WKT_CLKSRC_10KHZ, 1, PMU_MCU_DEEP_SLEEP);
5
    OUT2_OFF;
6
    
7
    ActualTime= ReadRTC(); >- das funktioniert periodisch (1s) 
8
    AlarmTime= ActualTime;
9
    delay_us(100000);
10
    }

von J. S. (jojos)


Lesenswert?

In den Booloader starten.
Im Programm zum Testen erstmal den Deep sleep über einen gpio aktivieren 
oder verhindern, das macht es einfacher.

Habe die Details der Modi nicht mehr im Kopf, der tiefste Schlaf war 
aber der deep power down, da funktioniert auch kein Reset. Nur der 
WakeUp Pin oder die programmierten wake up Funktionen wie der spezielle 
Timer. Da muss man Reset auslösen und den Bootloader Pin auf den 
richtigen Pegel legen damit der Debugger wieder ran kommt. Da ist eine 
Endlosscheife gut in die man beim Aufwachen per gpio Abfrage 
reinspringt.

: Bearbeitet durch User
von Andreas B. (bitverdreher)


Lesenswert?

Hat geklappt. Danke!
Der ISP Pin war natürlich anderweilig verwendet, so das etwas fummelig 
war. ;-)

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.