Hallo zusammen ich bekomme bei meinen ATMEGA 16 den USART nicht richtig zum laufen. Das Beispiel war ursprünglich für den 2313 gedacht und funktionierte wunderbar(mit Terminalprog tty). Habe für den ATMEGA 16 alles entsprechend abgeändert. Nach Reset oder Start soll bei Druck auf Taster 2 des STK 500 ein "Z" gesendet werden. Es werden aber Leerzeichen gesendet(2 Stück). Wenn Ihr auch keinen Fehler finden könnt, probiert das Prog bitte mal bei eurem ATMEGA 16 aus. Einstellungen: 8 Datenbits,kein Paritätsbit,1 Stopbit hier noch mal die Initialisierung: ;Subroutine hdw_init ;Die I/O-Ports, und der USART werden initialisiert ;In DDRx 0 --> Input 1 --> Output hdw_init: ldi w,0b11111111 ;Initialisiere Port D out PORTD,w ldi w,0b11110010 ;Datenrichtung Port D out DDRD,w ldi w,0b11111111 ;Initialisiere Port B out PORTB,w ldi w,0b11111111 ;Datenrichtung Port B out DDRB,w ;Ab hier wird das USART initialisiert uart_init: ldi w,high(baudkonst) out UBRRH,w ldi w,low(baudkonst) ;Baudrate laden out UBRRL,w ldi w,0b00100000 ;UDRE leer out UCSRA,w ldi w,0b10011000 ;RXCIE,RXEN,TXEN ->1,UCSZ2->0 out UCSRB,w ldi w,0b10000110 ;URSEL,8bit Datenwort(UCSZ1,UCSZ2 auf 1) out UCSRC,w sei ;Alle Ints freigeben ret schonmal vielen Dank mfg Rob
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.