Gast
#411260
Habe ein eigenartiges Problem bei meinen 128 iger.
wenn ich mit printf("hallo");
an die Uart sende stürt er beim zweiten senden ab resettet sich.
in der main am anfang mache ich folgendes
fdevopen (uart_putchar, NULL);
int baud;
baud=cpuclock/((4800*16L)-1);
cli();
init_rs232(baud);
sei();
printf("test1");
dann initialisiere ich meine zwei UARTS.
void init_rs232(unsigned int baud)
{
UBRR1H= (unsigned char)(baud>>8);
UBRR1L = (unsigned char) baud;
UCSR1B= ((1<<RXCIE)|(1<<RXEN) | (1<<TXEN));
CSR0C = ((0<<UMSEL) |(0<<UPM1) |(0<<UPM0)
|(0<<USBS)|(1<<UCSZ1)| (1<<UCSZ0));
}
int uart_putchar (char c)
{
//Warten solange bis Zeichen gesendet wurde
loop_until_bit_is_set(UCSR1A, UDRE);
UDR1 = c;
return (0);
}
Das test 1 wird übertragen aber alles danach stürtz mir der 128 iger
ab.
Habe ich einen fehler drin???