Hallo,
ich habe ein Problem mit meinem Sendecode für Uart.
1 | #include <avr/interrupt.h>
|
2 | #include <avr/io.h>
|
3 | #include <stdio.h>
|
4 |
|
5 | #define F_CPU 8000000
|
6 | #include <util/delay.h>
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | ISR(USART_TX_vect)
|
12 | {
|
13 | PORTD |= (1<<PORTD0);
|
14 | }
|
15 |
|
16 | //Hauptprogramm
|
17 | int main (void)
|
18 | {
|
19 |
|
20 | //Init usart DMX-BUS
|
21 | DDRD |= (1<<DDD0) ;
|
22 | UBRRL = 1;
|
23 | DDRD |= (1<<PD1); //Output TXD Pin ATmega88
|
24 | UCSRB|=(1<<TXEN)|(1<<TXCIE); // TXEN0 Transmitter enable / TXCIE0 TX complete interrupt enable
|
25 | //UCSRC|=(1<<USBS); //USBS0 2 Stop bits
|
26 | sei();//Globale Interrupts Enable
|
27 | UDR = 0;
|
28 |
|
29 |
|
30 |
|
31 | //Endlosschleife
|
32 | while(1)
|
33 | {
|
34 |
|
35 | }
|
36 | }
|
Bei mir wird die ISR nicht aufgerufen. D.h die Led, die an Pd0 ist, geht
nicht an. An der Led und so liegt es nicht.
Hoffe mir kann jmd. helfen. Baudrate habe ich auf 1 gestellt, dass
müsste eine Geschwindigkeit von 250k sein.
Mfg Niclas