Gast
#449887
hallo
mein problem ist das atmega128 wahrscheinlich ungewollt resetet. das
programm schaut folgendermassen aus
#include <avr/io.h>
#include <avr/signal.h>
#include <stdlib.h>
#include <util/delay.h>
void uart_init_0 (void) {
UBRR0H = 0;
UBRR0L = 25;
UCSR0B=(1<<RXEN0)|(1<<TXEN0); /* enable send and recieve */
UCSR0C=(1<<UCSZ01)|(1<<UCSZ00);
}
int main(void) {
uart_init_0();
UDR0=0x20;
while(1) {
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<UDRE)) )
;
/* Put data into buffer, sends the data */
UDR0 = 0x74;
}
UDR0=0x21;
return 0;
}
ueber sie serielle empfange ich folgende daten:
ttttttttttttttttttô ttttttttttttttttttttttttttttô
tttttttttttttttttttttttttttô ttttttttttttttttttttttttttttô
ttttttttttttttttttttttttttttô ttttttttttttttttttttttttttttô
ttttttttttttttttttttttttttttô ttttttttttttttttttttttttttttô ...
und so weiter. eigentlich sollte ich ja nur "ttttt" empfangen da
leerzeichen (0x20) nur vor der while schleife ausgegeben wird? hat von
euch einer ne idee??? bin hier echt am verzweifeln.