Forum: Mikrocontroller und Digitale Elektronik Atmega 162 USART 2 initialisieren


von Chris T. (chris0086)


Lesenswert?

Hallo Leute ich arbeite gerade mit einem Atmega 162.
Ich habe bis jetzt mit USART0 gearbeitet. Das funktioniert alles.
Jetzt wollte ich aber auch den zweiten aktivieren doch immer wenn ich 
die Konfigurationsroutine ins Programm aufnehme hängt sich das Programm 
sofort auf. und es kommt auch nichts mehr von USART0.
1
    //USART initialisieren
2
3
  //USART0
4
    UBRR0H = UBRR_VAL >> 8;
5
    UBRR0L = UBRR_VAL & 0xFF;
6
    //USART1
7
    UBRR1H = UBRR_VAL >> 8;
8
    UBRR1L = UBRR_VAL & 0xFF;
9
    //USART0
10
    UCSR0B |= (1<<TXEN0);                // UART TX einschalten
11
    UCSR0B |= (1<<RXEN0);
12
    UCSR0B |= (1<<RXCIE0);
13
    UCSR0C |= (1<<URSEL0)|(1<<UCSZ00)| (1<<UCSZ01);    // Asynchron 8N1
14
15
  //USART1 wenn ich das einkommentiere geht kein UART mehr.
16
17
    UCSR1B |= (1<<TXEN1);                // UART TX einschalten
18
    UCSR1B |= (1<<RXEN1);
19
    UCSR1B |= (1<<RXCIE1);
20
    UCSR1C |= (1<<URSEL1)|(1<<UCSZ10)| (1<<UCSZ11);    // Asynchron 8N1
21
22
    sei();
Wenn ich die zeilen unter USART1 lösche, dann funktioniert der Rest wie 
er soll

von Peter II (Gast)


Lesenswert?

Chris tian schrieb:
> Wenn ich die zeilen unter USART1 lösche, dann funktioniert der Rest wie
> er soll

hast du vergessen die ISR anzulegen?

von Chris T. (chris0086)


Lesenswert?

Ich kleines Dummerchen, hatte ich natürlich noch nicht da ich erstmal 
nur senden wollte. Aber jetzt läufts, Dankeschön.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.