Hallo.
Ich hatte einen funktionierenden Code um eine kleine Zusatzfunktion
erweitert: Mit einem kleinen Taster sollte geprüft werden können, ob die
Akkuspannung unter 3,5 V liegt. Die Änderung war jedoch fehleranfällig
und das Aufwachen wurde unzuverlässig.
Nun habe ich den Code so weit wie möglich reduziert und den Fehler
gefunden:
die Zeile
1 | PORTA.PIN2CTRL = PORT_PULLUPEN_bm | PORT_ISC_LEVEL_gc;
|
muss unmittelbar vor der Anweisung
stehen.
Aber warum der etwas andere Code nicht funktioniert, verstehe ich immer
noch nicht.
Auch habe ich Schwierigkeiten zu erkennen, inwieweit das Prellen den
Fehler verursacht, bzw. an welcher Stelle im Code die Entstehung des
Fehlers offensichtlich wird.
Außerdem wollte ich fragen, ob hier die Deklaration "volatile"
überflüssig ist oder notwendig.
Vielen Dank im Voraus.
(Die Codes im Anhang sind die reduzierten Codes, keine eigenständigen
Codes, können daher einen unvernünftigen Eindruck machen.)