UART mit dem AT90S8535

Gast #31423
Lesenswert?
• ▲
▼
Hallo!

Also ich hb das Programm jetzt umgeschrieben (hab die Adressen der inc 
Files verglichen).

.include "8535def.inc"

.def temp = r16
.equ CLOCK = 4000000
.equ BAUD = 9600

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

        sbi UCR, TXEN                  ; TX aktivieren

        ; Baudrate einstellen
        ldi temp, CLOCK/(BAUD*16)-1
        out UBRR, temp

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

serout:
        sbis USR, UDRE                  ; Warten bis UDR für das nächste
                                          ; Byte bereit ist
        rjmp serout
        out UDR, temp
        ret

Gruß,
Max
Gast #31425
Lesenswert?
• ▲
▼
Muss es erst noch testen, aber compilen kann ich's jetzt ohne fehler. 
Únd jetzt muss ich (ich hab Windows XP) nur das Hyper Terminal starten 
und die im Tutorial beschriebenen Einstellungen einstellen und dann 
müsst es schon gehn oder?

Gruß,
Max
Gast #31427
Lesenswert?
• ▲
▼
So also ich hab das gnze jetzt mal usprobiert, aber es tut sich leider 
gar nix, ich hoffe nur, dass es nicht n meinem Atmel Board und der 
Serielen Schnittstelle liegt. Hat jemand eine Idee an was es liegen 
könnte?

Danke,
Max
Gast #31428
Lesenswert?
• ▲
▼
Gut,
hast du denn auch einen MAX232 o.Ä. verbaut? Oder versuchst du TXD ubd 
RXD direkt anzuklemmen?
Wenn du ein Oszilloskop hast, messe bitte an TXD vom Prozessor, ob da 
Rechtecke zu sehen sind. Dann den Ausgang (TXD) vom Max testen.
Wenn da nichts ist, die Gleichspannungen am MAX testen, müssen positive 
wie auch negative Spannungen zu messen sein.

Am besten, du stellst mal deine Schaltung hierrein!!!!


Gruß,

Günter

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