Hi Stefan,
ich hab da noch ne Frage zu deinem Code, was passiert hier![]()
und dasCode:;in tmp2, pina ;ldi tmp, 0b01001101 ;Akku erkennung ab 3V ;cp tmp2, tmp ;brlo entladen_aus
ich nehme an, du schaltest mit dem Taster einen Pullup an den PIN?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.
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







Zitieren

Lesezeichen