LED gehen wieder an, aber warum?

Gast #4428511
Lesenswert?
• ▲
▼
Hallo zusammen,

ich versuche gerade auf dem myAVR MK2 mein erstes Programm zum Laufen zu 
bekommen, aber irgendwie will es nicht. Was soll es tun? LEDs am PORTC 
einschalten und nachdem ich eine Taste am PORTD gedrückt habe aus 
schalten und auch aus bleiben. Was aber passiert: Die LEDs gehen wieder 
an, wenn ich den Taster loslasse. Das kann ich mir nicht erklären.

Hier mein Code:
start:
  ; PORTC als Ausgang
        ldi r16, 0xFF
  out DDRC, r16

  ldi r16, 0xFF
  out PORTC, r16

  ; PÓRT D als Eingang
  ldi r16, 0x00
  out DDRD, r16
  ; Pull-Up aktivieren
  ldi r16, 0xFF
  out PORTD, r16

main:
  sbis PIND, 2
  rcall switch_off
        rjmp main

switch_off:
  mov r17, r16
  ldi r16, 0x00
  out PORTC, r16
  mov r16, r17
  ret

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.