Hallo Leute.
Ich habe wieder mal ein für mich unerklärliches Problem....
Und schonwieder mit dem UART!
Ich habe nun meine Steuerung mit dem Mega8535 beendet und starte mit der Einheit mit dem Mega128.
Wie man das so macht will man zwischenwerte per UART ausgeben.
Um auf dem Punkt zu kommen:
Da kommt nicht so ganz das Richtige an:
Bild hier
Ankommen sollte:
Code:OK CNF1: HEXWERT CNF2: HEXWERT CNF3: HEXWERT 1 2 3
hier mein init:
F_CPU ist 7,372800 MHzCode:void UART_init(void){ UBRR0L = 3; UCSR0B = (1<<RXCIE0)|(1<<RXEN0)|(1<<TXEN0); UCSR0C = (1<<UCSZ01)|(1<<UCSZ00); } void UART_transmit(uint8_t c){ while(!(UCSR0A & (1<<UDRE0))); UDR0 = c; } void UART_transmit_string(uint8_t *string){ while(!(UCSR0A & (1<<UDRE0))); while( *string){ UART_transmit (*string++); } }
UBRR0L = 3 wie im Datenblatt... um Sicher zu gehen....
EDIT:
Es sieht halt nach falscher Bausrate aus, aber 3 stimmt zu dieser Taktfrequenz. Die Fuses Stimmen auch. also versteh ich es nicht.
BAUD = 115200
Könnt Ihr mir helfen???






Zitieren

Lesezeichen