Forum: Compiler & IDEs UART Problem (mega8535)


von Niles (Gast)


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

von Niles (Gast)


Lesenswert?

Habs geschafft...

Es lag am Mikrocontroller (defekt); hab's mit einem neuen versucht und
es ging sofort, ohne jeglichen Probleme.

Trotzdem vielen Dank!
Grüße Julian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.