Ich habe folgenden Code :
Der ist sehr unspektakulär, per Softclock soll es zu bestimmten Zeiten ein paar mal Beepen und eine LED blinken, danach soll dann Alles per "Powerdown" abschalten, bis ein HardwareReset zum erneuten Start ausgelöst wird.Code:$regfile = "m8def.dat" $crystal = 1000000 Enable Interrupts Config Clock = Soft , Gosub = Sectic Config Date = Mdy , Separator = / Config Portb.0 = Output Dim A As Byte Time$ = "00:00:00" A = 0 Do Loop End Sectic: If _hour = 0 And _min = 1 And _sec = 00 Then Gosub Beep End If return Beep: Do A = A + 1 Portb.0 = 1 Sound Portc.0 , 50 , 50 Sound Portc.0 , 50 , 80 Sound Portc.0 , 50 , 50 Sound Portc.0 , 50 , 80 Portb.0 = 0 Waitms 150 Loop Until A = 50 Powerdown Return
Angeschlossen ist ein Uhrenquarz an Xtal1/2, der interne Takt steht auf 1 Mhz. , benutzt wird ein Atmega8/16
Das Problem ist, dass zwar die Uhr korrekt arbeitet, der Beeper und LED auch nach Wunsch funktionieren, der Stromverbrauch aber beim Beepen von 7mA im Betrieb auf ca. 90 mA hochschnellt und dort dann bleibt (!). Es wird NICHT wieder auf 7mA zurück- oder gar ausgeschaltet.
Warum nicht ?
...es reicht übrigens aus, nur einmal einen Sound auszugeben, oder die LED zu schalten...danach bleibt der Verbrauch ebenfalls bei etwa 90mA, auch wenn die LED oder Beeper dann wieder aus ist







Zitieren


Lesezeichen