UART Problem (mega8535)

Gast #239101
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren