Forum: Mikrocontroller und Digitale Elektronik ATMega644 USART1-Implementierungen werden nicht erkannt


von ch_f19 (Gast)


Lesenswert?

Hallo,

ich arbeite mit dem Atmel Studio 6 und versuche gerade mit der 
USART1-Schnittstelle zu arbeiten. Jedoch werden sämtliche Register der 
USART1-Schnittstelle nicht erkannt, sprich wenn ich schreibe
1
UCSR1A = 0x00;
so meckert der Compiler das "UCSR1A" nicht deklariert ist. Gehe ich auf 
"Go to implementation" so findet er die Deklaration in der "iomxx4.h". 
Die "io.h" ist natürlich eingefügt worden. Da die Register für die 
USART0-Schnittstelle jedoch deklariert sind, und dies auch zu keinen 
Fehlern führt, geh ich davon aus das in der "iomxx4.h" die #if-Abfrage 
übersprungen wird. Als Device wurde im Project-Wizard ATMega644 
ausgewählt und wird mir auch so angezeigt (in der Projektübersicht). 
Also wo ist der Hund begraben? Ich hoffe jemand von euch hat eine 
Lösung.

Vielen Dank schon mal im vorraus

Christian

von Floh (Gast)


Lesenswert?

Füg doch mal deinen Code an.

von Spess53 (Gast)


Lesenswert?

Hi

Ein ATMega644 hat nur eine Serielle Schnittstelle (USART0). Die 
ATMega644P/PA/A haben 2 serielle Schnittstellen(USART0/USART1).

MfG Spess

von ch_f19 (Gast)


Lesenswert?

1
#include <avr/io.h>
2
3
int main(void)
4
{
5
    while(1)
6
    {
7
        UCSR0A = 0x01;
8
  UCSR1A = 0x01;
9
  //TODO:: Please write your application code 
10
    }
11
}

Wahrlich nichts wildes. UCSR0A wird erkannt, UCSR1A nicht.

von ch_f19 (Gast)


Lesenswert?

@Spess53

Vielen Dank, weiss der Herr Gott warum ich auch den ATMega644 ausgewählt 
hab, und nicht den ATMega644P so wie er auf'm Tisch liegt.

Nochmals Danke

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.