Forum: Mikrocontroller und Digitale Elektronik Registernamen bei inline (im Header-File)


von Detlev T. (detlevt)


Lesenswert?

Hallo Leute,

ich bin wohl zu doof für inline. Das folgende habe ich in einem 
Headerfile (.h) geschrieben:
1
static inline ds1820_init(void)
2
{
3
  DDRA  &= ~_BV(PA0);
4
  PORTA &= ~_BV(PA0);
5
}
Binde ich dieses nun mit #include in einer .c Datei ein, in der ich 
vorher #include <avr/io.h> angegeben habe, meckert gcc trotzdem, dass 
er DDRA, PORTA und PA0 nicht kennt: (Meldung: "»PORTA« nicht deklariert 
(erste Benutzung in dieser Funktion)") Den Controllertyp habe ich 
angegeben.

Woran liegt das?

Vielen Dank für eure Antworten.

Gruß, DetlevT

von Karl H. (kbuchegg)


Lesenswert?

Ganzen Code

von Peter D. (peda)


Lesenswert?

Detlev T. schrieb:
> Den Controllertyp habe ich
> angegeben.

Welchen?


Peter

von Stefan Kunz (Gast)


Lesenswert?

#include <avr/io.h>  mußt du auch in dein anderes .h-File einbinden.

von Detlev T. (detlevt)


Lesenswert?

Hallo Leute,

der Fehler war so blöd, den konnte ich nicht selbst finden. ;)

Es handelt sich um einen ATMEGA328p, der hat ja gar keinen Port A. 
(Peinlich, Peinlich). War wohl eine freudsche Fehlleistung, es geht um 
PC0, der ja auch ADC0 ist.

Aber Danke für eure Hilfsbereitschaft.

Gruß, DetlevT

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.