Guten Tag,
Ich hab mal wieder ne Frage.... ich sitze jetzt schon seit mehr als 2 stunden hier rum und bekomme den PCINT nicht zum laufen.
Mein vorhaben. Ich möchte den ATTiny24 nach längerem betätigen einer Taste schlafen legen. Bevor er schlafen geht wird der Eingang mit dem Taster als PCINT configuriert, somit , rein in der theorie, wenn ich die Taste wieder drücke der Controller wieder aufwacht.
Ich weis einfach nicht wo ich noch suchen soll. Der COntroller geht in den Powerdown mode. Er wacht nur nicht mehr auf.
Könntet ihr vielleicht mal den Code überprüfen. Wäre super nett. ( der Taster hängt an PCINT5 -> PinA.5 )
Der Code wurde gekürzt, sollte aber auch unwichtig sein.
Code
$regfile = "attiny24.dat"
$crystal = 20000000 'F_CPU 20MHz
.
.
.
Config Portb.2 = Output
Config Porta.7 = Output
Config Porta.6 = Output
Config Pina.5 = Input
Config Timer0 = Pwm , Pwm = On , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Enable Timer1
Enable Timer0
Start Timer1
Start Timer0
On Timer0 Zaehler
Enable Interrupts
Enable Pcint0
On Pcint0 Aufwachen
Pcmsk0 = &B00100000
Gimsk = &B00010000
Disable Pcint0
Zeit = 0
End Sub
Do
Loop
Zaehler:
If Pina.5 = 0 Then
Incr Zeit
Waitms 1
If Zeit >= 3000 Then
Enable Pcint0
Powerdown
Else
Down = 1
End If
End If
If Pina.5 = 1 Then
If Down = 1 Then
Down = 0
Zeit = 0
'Led blinken ...
End If
End If
Return
Aufwachen:
Disable Pcint0
Zeit = 0
Return
Alles anzeigen