Atmega 162 USART 2 initialisieren

OP #3421492
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren