Gast
#93225
Hallo an Alle!
Ich versuche das 1.Mal die UART zu verwenden und komme nicht so recht
weiter, obwohl ich schon sämtliche Beiträge dazu gelesen habe. Also
bitte nicht sauer sein, wenn es für Euch alter Kaffee sein sollte.
Ich möchte Daten am PC empfangen und benutze folgendes Programm:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#define F_CPU 8000000 /* 8Mhz */
#define UART_BAUD_RATE 9600 /* 9600 baud */
#define BAUD (F_CPU/(UART_BAUD_RATE*16l)-1)
void USART_INIT( unsigned int baud)
{
UBRRH = (0x00);
UBRRL = (unsigned int) baud;
UCSRB = (1<<RXEN) | (1<<TXEN);
UCSRC = (1<<URSEL) | (1<<USBS) | (3<<UCSZ0);
}
void USART_Transmit(unsigned char data)
{
while ( !(UCSRA & (1<<UDRE)))
;
UDR = data;
}
void main(void)
{
USART_INIT(BAUD);
for(;;)
{
USART_Transmit('H');
USART_Transmit('a');
USART_Transmit('l');
USART_Transmit('l');
USART_Transmit('o');
USART_Transmit(0x0A);
USART_Transmit(0x0D);
}
}
Leider empfange ich nur Müll.
Ich besitze das STK500 und ich denke es liegt an der Programmierung des
internen Taktes?
Ich programmiere das STK500 gleich mit WINAVR, wo ich auch das Programm
schreibe.
Was für Einstellungen könnten jetzt noch falsch sein?????
Bitte helft mir....ich verzweifle bald!!!
Danke Thomas