Hallo, danke erst mal.
Soweit alles schön und gut, in dieser art habe ich das auch shon
gemacht, klappt auch hervorragend, aber so wie ich das sehe, bzw.
hinbekommen habe nur mit einem Port. wenn ich alle ports in einer
schleife abfregen möchte und entsprechend verzweigen will geht das
nicht, weil sbic oder sbis ja immer nur den nächsten Befehl überspringt
wenn ein zustand eingetroffen ist. Nehme ich also:
start: rjmp text1
loop: sbic PINB, 0
rjmp loop
rjmp text 2
rjmp start
text1: .......
rjmp loop
text2: .......
loop2: sbis PINB, 0
rjmp loop2
rjmp start
..... kann ich das mit einem eingang eines Portes machen. wie aber
verschachtele ich alle eingänge eines ports um entsprechend des
zustandes ( auch binär mit 63 möglichkeiten an PORTB ) als Beispiel
??????????? zu verzweigen .. ? ? ?
Da wie gesagt die befehle sbis und sbic nur den nächsten Befehl
überspringen wenn ein Zustand eigetroffen ist und ich dann Zwangsweise
als nächsten Befehl den Verzweigepunkt angeben muss kann ich die nächste
abfrage ja nicht als nächsten befehl setzen. Da steig ich noch nicht so
recht durch. Oder gibts einen Befehl der mich den Zusatnd des ganzen
Ports auswerten lässt???? sowas wie in Basic einen " IF then " Befehl,
Nach dem Motto:
loop: If PORTB,0 ist High then text1
If PORTB,1 ist High then text2
If PORTB,2 ist High then text3
rjmp loop
( S I N N B I L D L I C H Dargestellt )
jedenfalls werd ich aus der Befehlsliste von atmel nicht sonderlich
schlau daraus.
Und.. Danke nochmal auch im Vorraus für eine evtl Erleuchtung :-)