Hallo! Kann mir jemand bitte helfen und mir ein Beispielprogramm schicken, in dem man vom µC über die UART-SChnittstelle übertrgen kann? Danke Max
Hallo Günter! Ja das hab ich schon gesehen, aber das Tutorial it für den 4333 geschrieben, beim 8535 heißen die Ports vom UART anders und ich kenn mich nicht mehr us g l.g. Max
Ich hab eigentlich die Adressen für die Register gemeint (USRA, UCRB,...)
Die werden ja über symbolischen-Namen angesprochen und sind daher auch bei allen AT90S indentisch.
jedenfalls bei mir wenn ich es compile im AVR Studio, bringt er die fehlermeldung, dass er die adressen nicht kennt.
Andreas hat das Tutorial auf die neuen Namen der Mega Familie umgestellt. Ein Vergleich der Datenblätter Mega8 und AT90S8535 hilft hier weiter.
Man kann sich auch die Datei 8535def.inc mal anschauen. Dann findet man auch die symbolischen Namen. Gruß, Günter
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
  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
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
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
Ja lo ich hab den MAX232 verbaut und auch die 5 Kondensatoren. Hab aber eldier kein Oszi um die ignale zu messen.
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
Mit Google-Account einloggen
  Noch kein Account? Hier anmelden.
 Thread beobachten
 Thread beobachten Seitenaufteilung abschalten
 Seitenaufteilung abschalten