Hallo!
Ich möchte gerne eine USART - Kommunikation zwischen meinem PC und
meinem AVR Butterfly aufbauen. Leider funktioniert absolut nichts.
Die Initialisierung habe ich in Anlehnung an das AVR Demoprogramm
erstellt.
1 | void USART_Init(unsigned int baudrate)
|
2 | {
|
3 | // Set baud rate
|
4 | UBRR0H = (unsigned char)(baudrate>>8);
|
5 | UBRR0L = (unsigned char)baudrate;
|
6 |
|
7 | // Enable 2x speed
|
8 | UCSR0A = (1<<U2X0);
|
9 |
|
10 | // Enable receiver and transmitter
|
11 | UCSR0B = (1<<RXEN0)|(1<<TXEN0)|(0<<RXCIE0)|(0<<UDRIE0);
|
12 |
|
13 | // Async. mode, 8N1
|
14 | UCSR0C = (0<<UMSEL0)|(0<<UPM00)|(0<<USBS0)|(3<<UCSZ00)|(0<<UCPOL0);
|
15 | }
|
und das Hauptprogramm:
1 | int main()
|
2 | {
|
3 |
|
4 | Init();
|
5 | USART_Init(12);
|
6 |
|
7 | while(1)
|
8 | {
|
9 | Usart_Tx('a');
|
10 | PORTD=~PORTD;
|
11 | _delay_ms(50);
|
12 | }
|
13 |
|
14 | return 0;
|
15 | }
|
Im Prinzip soll das Programm in gewissen Zeitabständen ein "a" über die
USART an den PC senden und dann PORT D toggeln (um mir optisch zu
zeigen, dass der Buchstabe versandt wurde).
Das komische ist, dass ich am Terminal GAR nichts empfange, auch keine
fehlerhaften Zeichen (was ja bei fehlerhafter Initialisierung bei USART
öfter mal vorkommen kann), aber es kommt einfach NICHTS an.
Ich komm einfach nicht dahinter.
Ich habe wenig erfahrung mit dem Butterfly, muss ich noch irgendwas
beachten bei der USART Kommunikation?
Programmiert wird das Butterfly übrigens mit dem STK 500 über ISP.
Danke,
Philipp