Hallo,
das Folgende Programm soll vom µC zum PC über die Serielle- Schnittstelle Daten übertragen, das funktioniert aber nicht ganz korrekt. Es kommt nur Datenmüll beim PC an, weiß jemand woran das liegt??
Ich benutze:
- ATMega8-16PI
- 3,6864MHz Quarz
- AVR-GCC


Code:
#include <io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>

#define F_CPU            3686400      // 3686Khz 
#define UART_BAUD_RATE      9600      // 9600 baud 
#define BAUD (F_CPU / (16L*UART_BAUD_RATE) -1)

typedef unsigned char BYTE; 
typedef unsigned short WORD;

int main(void)
{		
	//outp (F_CPU / (UART_BAUD_RATE * 16L) - 1, UBRR);
	UBRRH = (unsigned char) (BAUD >> 8);
  UBRRL = (unsigned char) BAUD;
	
	UCSRB = (1<<TXEN);

  while(1)
  {
	  while (!( UCSRA & (1<<UDRE)) );
    USART_Transmit('H');
    USART_Transmit('a');
    USART_Transmit('l');
    USART_Transmit('l');
    USART_Transmit('o');
    USART_Transmit((unsigned char)0x0A);
    USART_Transmit((unsigned char)0x0D);	
  }
	return 0;
}