Hi Stefan,
ich hab da noch ne Frage zu deinem Code, was passiert hier
Code:
;in tmp2, pina
;ldi tmp, 0b01001101 ;Akku erkennung ab 3V
;cp tmp2, tmp
;brlo entladen_aus
und das
Code:
;Warte auf Stop-Taste
in tmp2, pind ;Liest Eingangsport ab
andi tmp2, 0b00000001 ;Nur das Start-tasten-Bit einlesen
ldi tmp, 0b00000001
cp tmp2,tmp
breq entladen_stop ;Ist Bit gesetzt, Spring in die Start- Fkt.
ich nehme an, du schaltest mit dem Taster einen Pullup an den PIN?
kannst du schneller mit sbic = skip if bit in I/O is cleared machen. Skip´s überspringen immer nur den nächsten Befehl und man muss immer etwas auf die Logki aufpassen.
Dafür würdest du den Programteil "entladen_stop" mit einem rcall entladen_stop und "ret" in eine Subroutine setzten.
mfg,
The Man
Lesezeichen