www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit avr board u. Terminalprogramm


Autor: Dirk JayN (jaxx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusamnen

Ich habe hier ein Programm mit dem man über ein Terminalprogramm eine 
LED mit "e" einschaltet und mit "a" ausschlten kann.
Mein Problem ist das es nicht mit dem Terminalprogramm geht. Was muss 
man vllt ändern im Programm selbst oder vllt auch im Term-Programm.

Verwendete Hardware:
- myAVR Board Light USB
- Terminalprogramm: TeraTermPro

hier das Programm:

rjmp main ;1 POWER ON RESET
reti ;2 Int0-Interrupt
reti ;3 Int1-Interrupt
reti ;4 TC2 Compare Match
reti ;5 TC2 Overflow
reti ;6 TC1 Capture
reti ;7 TC1 Compare Match A
reti ;8 TC1 Compare Match B
reti ;9 TC1 Overflow
reti ;10 TC0 Overflow
reti ;11 SPI, STC Serial Transfer Complete
reti ;12 UART Rx Complete
reti ;13 UART Data Register Empty
reti ;14 UART Tx Complete
reti ;15 ADC Conversion Complete
reti ;16 EEPROM Ready
reti ;17 Analog Comparator
reti ;18 TWI (I²C) Serial Interface
reti ;19 Store Program Memory Ready
;----------------------------------------------------------------------- 
-
;Start, Power ON, Reset
main: ldi r16,hi8(RAMEND)
out SPH,r16
ldi r16,lo8(RAMEND)
out SPL,r16

sbi UCSRB,3
sbi UCSRB,4
ldi r16,23 ;Baudrate 3686400/(9600*16) -1
out UBRRL,r16
sbi DDRD,0
;----------------------------------------------------------------------- 
-
mainloop:
rcall getChar ;getChar aufrufen
rcall putChar ;putChar aufrufen




cpi r16,'e' ;Vergleiche r16 mit e
breq LEDan ;wenn gleich LEDan aufrufen



cpi r16,'a' ;Vergleiche r16 mit a
breq LEDaus ;wenn gleich LEDaus aufrufen



rjmp mainloop ;springe zu mainloop
;----------------------------------------------------------------------- 
-

putChar:
sbis UCSRA,5 ;überspringt den nechsten Befehl wenn UDRE leer (1) ist
rjmp putChar
out UDR,r16 ;Inhalt von r16 in UDR schreiben
ret ;zum Programm zurückkehren

getChar:
sbis UCSRA,7 ;überspringt den nechsten Befehl wenn ungelesen Daten im
;Empfangsregister liegen (RXC=1)
rjmp getChar
in r16,UDR ;Inhalt von UDR ins r16 kopieren
ret ;zum Programm zurückkehren

LEDan:
ldi r16,0b00000100
out PORTD,r16
ret

LEDaus:
ldi r16,0b00000000
out PORTD,r16
ret


Wäre schön wenn ihr mir dort weiterhelfen kann!
mfg

: Verschoben durch Admin
Autor: meckermensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>sbi DDRD,0
>ldi r16,0b00000100
Passt nicht zusammen.

>sbi UCSRB,4
ldi, Konstanten und binäres ODER nutzen!

Autor: Dirk JayN (jaxx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich weiß das das Probgramm bei anderen Leuten funktioniert. Die 
haben allerdings das Serielle Board oder das MK2 mit der steckbaren 
USB-Karte.

Liegt das wirklich an den Befehlen die du geschrieben hast?

Autor: meckermensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst kein Wort Assembler, richtig? Wenn du die Sprache gerade 
lernst, an dem Programm ist einiges zu verbessern.

Kommen die eingegebenen Zeichen zurück?

Ich meine Vermutung von oben stimmt würde eine kurze Simulation klären, 
aber ich hab gerade was anderes zu tun.

Autor: meckermensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry:
> Ich meine Vermutung von oben stimmt
Ob meine Vermutung...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.