AVR - Assembler - sbis variabel gestalten

OP #716975
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
#717048
1
;Hauptschleife setzt abzufragenden Taster und fragt diesen ab
2
loop_main:
3
ldi Taster,1<<3
4
rcall Tasterabfrage
5
ldi Taster,1<<4
6
rcall Tasterabfrage
7
rjmp loop_main
8
 
9

10
;Fragt den in Taster übergebenen Taster ab
11
in r16,pinb
12
and r16,Taster
13
breq TasterLow
14
ret
15
TasterLow:
16
rcall Taster_senden
17
Taste_klemmt:
18
in r16,pinb
19
and r16,Taster
20
breq Taste_klemmt
21
ret

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.