USART mit ATmega128 und STK501

Gast #72670
Lesenswert?

Hallo!

Seit Stunden versuche ich, meinen ATmega128L mit meinem Computer
kommunizieren zu lassen - leider ohne jeden Erfolg.
Ich habe den Assembler-Code aus dem Tutorial mit einigen Änderungen in
AVRStudio assembliert und auf den Chip gebrannt.
Zunächst mal der Code:

.include "m128def.inc"

.def  temp  = r16
.equ  CLOCK  = 8000000
.equ  BAUD  = 9600
.equ  UBRRVAL  = CLOCK / (BAUD*16) - 1


  ;Stackpointer initialisieren
  ldi    temp, LOW(RAMEND)
  out    SPL, temp
  ldi    temp, HIGH(RAMEND)
  out    SPH, temp

  ;Baudrate einstellen
  ldi    temp, LOW(UBRRVAL)
  out    UBRR0L, temp              ;habe ich angepasst
;  ldi    temp, HIGH(UBRRVAL)       ;hätte nicht funktioniert - braucht
man aber eh nicht, da die Baud-Rate in das untere Register passt
;  out    UBRR0H, temp

  ;Frame-Format: 8 Bit
  ;ldi    temp, (1<<UMSEL) | (3<<UCSZ0)
  ;out    UCSR0C, temp   ;Diese Anweisung funktioniert auch nicht. Ich
bekomme den Fehler: illegal argument type or count

  sbi    UCSR0B, TXEN  ;habe ich angepasst

loop:  ldi temp, 'T'
    rcall serout
    rjmp loop

serout:
    sbis  UCSR0A, UDRE0   ;habe ich angepasst
    rjmp  serout
    out    UDR0, temp
    ret


Wenn ich jetzt das RS232 Kabel in den "RS 232 SPARE" Verbinder
stecke, das HyperTerminal öffne und auf 'Datei empfangen' klicke,
bekomme ich die Meldung: "Keine Rückmeldung vom Remotecomputer"

Liegt da ein Software- oder ein Hardwarefehler vor?

Gruß
Thomas

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