Also ich habe auch ein Problem mit USART und wollt kein neuen Thread aufmachen:
Ich habe das myAVR Board 2.0 USB mit einem ATMega8L - 8PU drauf
Im Hyperterminal habe ich aktiviert:
Bps: 9600
Datenbits: 8
Parität: Keine
Stoppbits: 1
Flusssteurerung: Hardware
Also F_CPU hab ich auch schon 8Mhz probiert...
Habe schon mit Debug-LEDs rumgemacht und rausgefunden, dass er bei...
while ( !(UCSRA & (1 << RXC)) )
hängen bleibt. D.h. ja, dass keine Daten ankommen, oder ???
Code:
#include <avr/io.h>
#define F_CPU 3868400
#define USART_BAUD_RATE 9600
#define USART_BAUD_SELECT (F_CPU/(USART_BAUD_RATE*16L)-1)
//-----------------------------------------------------
void main()
{
char bZeichen;
UCSRB = (1 << RXEN) | (1 << TXEN);
UCSRC = (1 << URSEL) | (1 << UCSZ1) | (1 << UCSZ0);
UBRRL = (unsigned char) USART_BAUD_SELECT;
while (1)
{
while ( !(UCSRA & (1 << RXC)) )
{}
bZeichen = UDR;
while (!(UCSRA & (1 << UDRE)))
{}
UDR = bZeichen;
}
}
Jemand ne Idee?
Lesezeichen