Forum: Mikrocontroller und Digitale Elektronik UART und 2313


von Niki (Gast)


Lesenswert?

Hallo nochmal.

Kann mir irgendwer ein mini-UART-test Programm für den AT90S2313 
schreiben oder weiss wer wo es so eins gibt dass wirklich und sicher 
auf einem AT90S2313 funktioniert?! (@Andreas: war nicht im UART Tutorial 
einmal was für den 2313?!).

Es braucht nur 'Test' in einer Endlosschleife gesendet werden, mit 
Standardeinstellungen (9600baud, kein flow control etc).

ich habs mit dem code probiert aba da kommt nur schrott am am PC raus. 
Ich hoffe also es hat nix mit der Hardware zu tun sondern mit dem Test 
Programm (ist das aus dem UART Tutorial nur abgeändert)


.include "2313def.inc"         ;bzw. 2333def.inc

.def temp = r16

ldi temp, RAMEND
out SPL, temp

sbi $0a,TXEN                 ;TX aktivieren
ldi temp,4000000/(9600*16)-1   ;Baudrate 9600 einstellen
out $09,temp

loop:
ldi temp, 'T'
rcall serout       ;Unterprogramm aufrufen
ldi temp, 'e'
rcall serout       ;Unterprogramm aufrufen
ldi temp, 's'
rcall serout       ;Unterprogramm aufrufen
ldi temp, 't'
rcall serout       ;Unterprogramm aufrufen
ldi temp, '!'
rcall serout
ldi temp, 10
rcall serout
ldi temp, 13
rcall serout
rjmp loop

serout:
  sbis $0b,UDRE
  rjmp serout
  out $0c, temp
ret

von Niki (Gast)


Lesenswert?

Achja, was ich noch vergessen habe!

Ich hab' einen 11.0592 Quarz, aber mit
ldi temp,71

gehts auch nicht..kommt anderer Schrott :((

von Niki (Gast)


Lesenswert?

Okok, doch nicht!

Scheint nun zu funktionieren. Der Fehler lag ja an was sehr komischen: 
Der MAX232 scheint kaputt zu sein. Wenn ich einen anderen original 
MAX232 verwende geht es.

Kann es sein dass das ST Devirat nicht 100% (Pin etc) kompatibel ist?

Heissen tut er ST232CN

von Sebastian Wille (Gast)


Lesenswert?

Hi Niki,

ich glaube die Zeile

ldi temp,4000000/(9600*16)-1 ;Baudrate 9600 einstellen

bezieht sich auf 4 MHz.

Es müsste wohl

ldi temp,11059200/(9600*16)-1 ;Baudrate 9600 einstellen

heißen.

Experten mögen mich berichtigen!

Grüße,

   Sebastian

von Niki (Gast)


Lesenswert?

Ich weiss, hab' ich ja schon oben geschrieben dass es mit der 11 Mhz 
Einstellung auch nicht geht (ldi temp,71) aber wie schon gesagt, das 
Problem ist bereits behoben

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.