Hallo allerseits
Kann mir jemand helfen wie ich die sbis bzw sbic variabel gestallten
kann.
bzw
Kennt jemand einen Workaround ?
sbis pinb,x x = Variable
Soweit meine Idee:
(geht natürlich nicht, da sich der Code zur Laufzeit ändern würde)
Der Code soll an pin3 und pin4 Taster abfragen.
Eventuell auch noch mehr als diese Beiden.
Wie macht ihr soetwas ?
1 | ;Hauptschleife setzt abzufragenden Taster und fragt diesen ab
|
2 | loop_main:
|
3 | ldi Taster,3
|
4 | rcall Tasterabfrage
|
5 | ldi Taster,4
|
6 | rcall Tasterabfrage
|
7 | rjmp loop_main
|
8 |
|
9 |
|
10 | ;Fragt den in Taster übergebenen Taster ab
|
11 | Tasterabfrage:
|
12 | sbic pinb,Taster ;Überspringe den nächsten Befehl, wenn Taster = 0
|
13 | ret ; Taster ist H also keine Aktion und zurück
|
14 | rcall Taster_senden ;Senden -> hier wird der Befehl ausgeführt
|
15 | Taste_klemmt: ;Warten bis Taste frei
|
16 | sbis pinb,Taster ;Überspringe den nächsten Befehl, wenn Taster = 1
|
17 | rjmp Taste_klemmt ;Taste ist noch gedrückt
|
18 | ret ;Zurück zur Hauptschleife
|
Gruß
Günter