Hallo das ist meine erste Frage also entschuldigung im voraus falls ich etwas falsch mache.
Mein Problem:
Ich Arbeite mit Atmel Studio 6.0 und Programmiere ein Arduino Uno mit 16MHz.
Nun möchte ich ein Programm schreiben damit ich über Serielle Komunikation ein Char ('a') sende und diesen Buchstaben will ich am Terminal Window anzeigen.
Das Problem ist, dass immer irgendwelche Zeichen angezeigt werden.
Hir der Code:
Code:
#include <avr/io.h>
#define F_CPU 16000000UL
#define BAUD 9600
#define MYUBRR ((F_CPU/(BAUD*16))-1)
void USART_Init(unsigned int ubrr)
{
//baud rate
UBRR0H=(unsigned char) (ubrr>>8);
UBRR0L=(unsigned char) ubrr;
//frame format: 8data, 2stop bit
UCSR0C = (1<<UCSZ01)|(1<<UCSZ00)|(1<<USBS0);
//Enable receiver and transmitter
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
}
void data_send(unsigned char data)
{
while ( !( UCSR0A & (1<<UDRE0)) );
//daten senden
UDR0=data;
}
int main(void)
{
USART_Init(MYUBRR);
while(1)
{
data_send('a');
}
}
bitte um hilfe
Lesezeichen