Gast
#31414
Hallo! Kann mir jemand bitte helfen und mir ein Beispielprogramm schicken, in dem man vom µC über die UART-SChnittstelle übertrgen kann? Danke Max
|
Anzeige
|
UART mit dem AT90S8535
Gast
#31414
Hallo! Kann mir jemand bitte helfen und mir ein Beispielprogramm schicken, in dem man vom µC über die UART-SChnittstelle übertrgen kann? Danke Max
Gast
#31415
Steht im Tutorial unter UART. Gut Holz, Günter
Gast
#31416
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
Gast
#31417
Die Ports für den Hardware RXD/TXD sind bei beiden gleich PD0/PD1.
Gast
#31418
Ich hab eigentlich die Adressen für die Register gemeint (USRA, UCRB,...)
Gast
#31419
Die werden ja über symbolischen-Namen angesprochen und sind daher auch bei allen AT90S indentisch.
Gast
#31420
jedenfalls bei mir wenn ich es compile im AVR Studio, bringt er die fehlermeldung, dass er die adressen nicht kennt.
Gast
#31421
Andreas hat das Tutorial auf die neuen Namen der Mega Familie umgestellt. Ein Vergleich der Datenblätter Mega8 und AT90S8535 hilft hier weiter.
Gast
#31422
Man kann sich auch die Datei 8535def.inc mal anschauen. Dann findet man auch die symbolischen Namen. Gruß, Günter
Gast
#31423
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
#31424
Haut`s denn jetze hin? Günter
Gast
#31425
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
#31426
Aja noch ml ne frage: Wie oft knn ich den Atmel eigentlich Progrmmieren?
Gast
#31427
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
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
Gast
#31429
Ja lo ich hab den MAX232 verbaut und auch die 5 Kondensatoren. Hab aber eldier kein Oszi um die ignale zu messen.
Gast
#31430
Ist denn ein kleines Vielfachmessinstrument vorhanden?
Gast
#31431
jo ich hab so ein Digitalmultimeter Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|