Jste zde

ATmega16 USART špatný baudrate

Zdravím, mám problém s komunikací AVR s PC.
Baudrate nastaven na 9600,1stop bit, bez parity, ale komunikace s PC ani s mobilem nejede. Krystal je 7.3728MHz, testováno i s 4MHz
V programu Terminal v1.9b dosáhnu komunikace po nastavení Custum baudrate na 300, přenos tak funguje i když s častými chybami.
Inicializace AVR:

#define XTAL 7372800UL
#define BAUD 9600UL
#define MYUBRR ((XTAL/(BAUD<<4))- 1)
UBRRH = (uint8_t)(MYUBRR >>8)
UBRRL = (uint8_t)(MYUBRR );
UCSRB = (1<

Forums: 

#define XTAL 7372800UL
#define BAUD 9600UL
#define MYUBRR ((XTAL/(BAUD<<4))- 1)

UBRRH = (uint8_t)(ubrr>>8);
UBRRL = (uint8_t)(ubrr);
UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE);
UCSRC = (0<<USBS)|(1<<UCSZ1)|(1<<UCSZ0);

static void usartTx(uint8_t data){
while((UCSRA&(1<<UDRE))==0);
UDR = data;
}