Zustand eines Ausgangsportpins abfragen

Moderator (Firma: Titel) Persönliche Seite #1946476
Lesenswert?

Holger schrieb:
> Frage: Wie kann ich im Programmverlauf abfragen, ob der Pin High oder
> Low gesetzt wurde?
Als Denkanstoss: du (bzw. dein Programm) mußt das doch wissen, denn du 
hast den Pin doch selber auf diesen Pegel gesetzt...

> sbis PINA.6 ... funktioniert bei mir nicht.
Dann liegt das Problem woanders...
Evtl. wird der Port nur sehr kurz gesetzt und ist schon wieder '0', wenn 
du ihn abfragst...
Persönliche Seite #1946483
Lesenswert?

1
test: sbis PORTA , 6
2
      rjmp test0
3
      cbi PORTA , 6
4
      ret
5

6
test0: sbi PORTA , 6
7
       ret

> Also ich möchte den PIN A.6 bei jedem Unterprogrammaufruf von test
> toggeln.

PIN A.6 = Schreibfehler?

BTW. bei manchen modernen AVR kann man ein Bit im PORT Register 
tatsächlich toggeln, wenn man das betreffende Bit im PIN Register 1 
setzt. Ich weiss aber nicht, ob der Atmega32 das bereits kann (=> 
Datenblatt).
#1946661
Lesenswert?

wo sind die rcall, die zum ret gehören bzw. was sollen die rets

möglicherweise steckt das Programm in irgendeiner Schleife und kommt 
garnicht zur Ausführung dieser Befehle. So, wie oben nach "also:" 
geschrieben, kann das Programm garnicht laufen

ersetze erst einmal das "ret" jeweils durch "rjmp test"
und prüfe dann die Funktion

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren