Gast
#239101
Hallo,
ich habe leider seid 2 Tagen ein riesen Problem mit meiner
Datenübertragen. Ich verwende einen atmega8535 (16Mhz) mit einem
Max232N verbunden mit PC - HyperTerminal (8N2). Doch leider kommt nur
SEchrott an; bzw. Hyperterminal zeigt garnichts an (nur mein Portmon ->
Empfange "00") und mein atmega nur "FF" bzw. "FE", egal was ich
auch vom PC verschicke.
#define UART_BAUD_RATE 19200
#define UART_BAUD_CALC(UART_BAUD_RATE)
((F_CPU)/((UART_BAUD_RATE)*16L)-1)
extern void uart_init(void);
extern void uart_putc(unsigned char c);
extern void uart_puts(char *s);
extern void uart_eol(void);
extern uint8_t uart_rec(void);
void uart_init(void)
{
UCSRB = (1<<TXEN)|(1<<RXEN);
UCSRC = (1<<USBS)|(1<<UCSZ1)|(1<<UCSZ0);
UBRRH=(unsigned char)(UART_BAUD_CALC(UART_BAUD_RATE)>>8);
UBRRL=(unsigned char)UART_BAUD_CALC(UART_BAUD_RATE);
}
void uart_putc(unsigned char c)
{
while(!(UCSRA & (1<<UDRE)));
UDR = c;
}
void uart_puts(char *s)
{
while(*s)
{
uart_putc(*s);
s++;
}
}
void uart_eol(void)
{
uart_putc(0x0d);
uart_putc(0x0a);
}
uint8_t uart_rec(void)
{
while(!(UCSRA & (1<<RXC)));
return UDR;
}
Wäre sehr nett wenn mir jemand helfen könnte!
Liebe Grüße
Julian