ich möchte über UART daten vom at90s2313 an einen mega8 schicken, aber irgendwie habe ich immer ein frame error. beide laufen mit externen takt auf 4mhz und 19.2k baud.
at90s2313 code:
mega8 code:Code:.include "C:\Dokumente und Einstellungen\eric\Desktop\asm\2313def.inc" .def temp1 = r16 .cseg .org 0x000 rjmp reset reset: ldi temp1, ramend out SPL, temp1 sbi DDRD, 1 ;output ldi temp1, 0x0c out ubrr, temp1 ;baudrate 19200baud cbi ucr, chr9 ;9bit modus aus sbi ucr, txen ;transmitter ein rjmp start start: ldi temp1, 0b00101010 ;bitmuster out udr, temp1 ;werte an sender übertragen t1: sbis usr, udre ;warten bis übertragung fertig rjmp t1 rjmp start
an portb sowie portc gibt der controller nichts aus.Code:.include "C:\Dokumente und Einstellungen\eric\Desktop\asm\m8def.inc" .def temp1 = r16 .cseg .org 0x000 rjmp reset reset: ldi temp1, low(ramend) out SPL, temp1 ldi temp1, high(ramend) out sph, temp1 ldi temp1, 0b00111111 ;output out DDRC, temp1 cbi DDRD, 0 ;input sbi DDRB, 0 ;output cbi ucsra, u2x ;geschwindigkeit 1x cbi ucsrb, ucsz2 ;8bit modus ldi temp1, 0x0c out ubrrl, temp1 ;baudrate19200 sbi ucsrb, rxen ;receiver ein start: sbis ucsra, rxc ;neue daten in udr? rjmp start sbic ucsra, FE rjmp start sbi PORTB, 0 ;erfolgreich übertragen? in temp1, udr out PORTC, temp1 ;ausgeben rjmp start
würd mich freuen wenn mir jemand helfen kann weil momentan weiss ich einfach nicht mehr weiter![]()







. beide laufen mit externen takt auf 4mhz und 19.2k baud.
Zitieren

Lesezeichen