Forum: Mikrocontroller und Digitale Elektronik UART und die Grosse frage


von Peter (Gast)


Lesenswert?

hi,

ich besitze auch ein stk500 mit einem AT90S8515 und wurde dann beim 
durcharbeiten des tutorials von UART böse gequält.

;*****uart********
;PD0 an RXD
;PD1 an TXD

.include"8515def.inc"

.def temp = r16

ldi temp, LOW(RAMEND)
out SPL, temp
ldi temp, HIGH(RAMEND)
out SPH, temp

sbi UCR,TXEN
ldi temp,23
out UBRR,temp

loop:
ldi temp, 'A'
rcall serout
ldi temp, 'B'
rcall serout
ldi temp, 10
rcall serout
ldi temp, 13
rcall serout

rjmp loop

serout:
 sbis USR,UDRE ;bereit?
 rjmp serout
 out UDR,temp
ret
;******************

im hyperterminal(hab auch unterscheidliche terminals auf 
unterscheidlichen rechnern getestet)
ist 9600bit/s etc eingestellt, wie im tutorial.
wenn ich jetzt über COM1 an den RS232 spare vebinde
kommen im terminal aber nur seltsamme zeichen an, immer die gleichen 
(auch nach dem reset).

wo kann liegt der fehler, kann mir jemand weiterhelfen?

von crazy horse (Gast)


Lesenswert?

welche Quarzfrequenz?

von F_k (Gast)


Lesenswert?

I've just tested the same thing today:

it's not 23 ! it's 25 at 4MHz. Insert this code:

  sbi  UCR, RXEN    ;enable UART receiver
  ldi  temp, 4000000/(9600*16)-1  ;set baud rate
  out  UBRR, temp


4000000/(9600*16)-1 = 25.04 (almost 25, it has 0.2% accuracy)

goodluck!

von F_k (Gast)


Lesenswert?

ps. probier: http://www.weinga.unity.de.vu

RS232 Access V1.1, freie software :)

ciao.

(sorry, can't write German so well, kann kein Deutch super)

von John Doe (Gast)


Lesenswert?

Vergiss den weinga-Mist, hier ist ein ordentliches Programm auf einer 
ordentlichen Webseite:
http://www.pcremotecontrol.com/info.html
Ganz unten, serialwatcher.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.