Forum: Compiler & IDEs Fehlermeldung: dep/interrupt.h:1: *** missing separator.


von Martin Vojtek (Gast)


Lesenswert?

Hallo,

ich hab diese Frage auch schon in dem uC-Forum gepostet, bis ich
dahinter gekommen bin, dass es hier vielleicht besser aufgehoben ist.

Ich habe gerade versucht zum ersten mal eine C-Datei mit WinAVR zu
compilieren und bekomme folgende Fehlermeldung:

dep/interrupt.h:1: *** missing separator.  Stop.

Kann jemand damit etwas anfangen?

Gruß
Martin

von Rolf Magnus (Gast)


Lesenswert?

> Kann jemand damit etwas anfangen?

Naja, es fehlt wohl ein Trennungszeichen. Was steht denn in Zeile 1 von
dep/interrupt.h und in der Datei, in der diese eingebunden ist?

von Martin Vojtek (Gast)


Lesenswert?

die ersten Zeilen der interrupt.h:

#ifndef AVR_INTERRUPT_H
#define AVR_INTERRUPT_H

#include <avr/io.h>

und die ganze Datei, aus der interrupt.h aufgerufen wird:

#include <io.h>
#include <interrupt.h>
#include <signal.h>

#define XTAL  16e6

#define  BAUD  57600

typedef unsigned char  u8;
typedef   signed char  s8;
typedef unsigned short u16;
typedef   signed short s16;
typedef unsigned long  u32;
typedef   signed long  s32;

von johnny.m (Gast)


Lesenswert?

Wo ist das #endif?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Die Fehlermeldung ist aber vom make generiert.  Klingt so, als hätte
jemand versucht, dep/interrupt.h ins Makefile zu includen.  Das kann
nicht gut gehen. ;-)

Weitere Kommentare:

> #define _AVR_INTERRUPT_H_

Bitte keine Namen mit führenden Unterstrichen benutzen, die sind
für Compiler und Bibliothek reserviert.

> #include <io.h> (usw.)

Bleib besser bei der Konvention, diese Dateien <avr/io.h> (usw.) zu
nennen.

> #define XTAL  16e6

Der Name dafür, den die meisten Leute bevorzugen, heißt F_CPU, daher
haben wir den auch für die Verzögerungsfunktionen aus <util/delay.h>
in der Bibliothek übernommen.

> typedef unsigned char  u8;

Gewöhn' dich besser daran, die von C99 über <stdint.h>
standardisierten Namen zu benutzen: uint8_t usw.

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.