Forum: Compiler & IDEs Code für atmega168 nicht übersetzbar!?


von Neuer Gast (Gast)


Lesenswert?

Ich wechsle gerade vom atmega163 des STK500 auf meinen Zieltyp 
atmega168.

Nach Wechsel des MCU-Typs im makefile nach "-mmcu=atmega168", sind alle 
defines für die IO-Register unbekannt:

Serial.c:41: error: `UBRRH' undeclared (first use in this function)
Serial.c:41: error: (Each undeclared identifier is reported only once
Serial.c:41: error: for each function it appears in.)
Serial.c:42: error: `UBRRL' undeclared (first use in this function)
Serial.c:43: error: `UCSRB' undeclared (first use in this function)
Serial.c:43: error: `RXCIE' undeclared (first use in this function)
Serial.c:43: error: `RXEN' undeclared (first use in this function)
Serial.c:43: error: `TXEN' undeclared (first use in this function)
..usw

Als ob irgend etwas im include-Teil von <avr/io.h> im Source-File schief 
gehen würde. Ein test per "avr-gcc --target-help" gibt den 168 als 
bekannten Typ aus.

AVR-GCC-Version "avr-gcc (GCC) 3.4.6" unter MAC OS 10.5.5.

jemand eine Idee?

Gruß

von Oliver (Gast)


Lesenswert?

>jemand eine Idee?

Mal ins Datenblatt gelinst?

Atmel hat vor einer Weile mal die Nomenklatur geändert - die neueren 
Typen haben jetzt Registernamen al la UBRR0H, auch dann, wenn es das 
Register nur einmal gibt.

Oliver

von Neuer Gast (Gast)


Lesenswert?

Danke Oliver, das war es.

Gruß

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.