Forum: Mikrocontroller und Digitale Elektronik Error vom Compiler: source file fehlt


von source file gühnter (Gast)


Lesenswert?

Hallo
Mei Compiler schreibt mir folgenden Error. Ich weis nichtmahl ob ich 
dogm_spi.H überhaupt habe!
>Fatal Error[Pe005]: could not open source file "dogm_spi.h" C:\Dokumente und 
>Einstellungen\Tobias\Eigene Dateien\main.c 2

source file gühnter

von Johannes M. (johnny-m)


Lesenswert?

Tja, wenn Du eine Datei mit #include einbindest, dann muss die Datei 
auch vorhanden sein. Was erwartest Du jetzt vom Forum? Dass Dir jemand 
die Datei schickt?

Abgesehen davon ist dogm_spi.H was ganz anderes als dogm_spi.h. C ist 
case-sensitiv.

von source file gühnter (Gast)


Lesenswert?

Hallo
Also des schicken ist doch kein großer Aufwand, oder?
Und was des h angeht des ist klein.THX im vorraus!
source file gühnter

von STK500-Besitzer (Gast)


Lesenswert?

Und Verzeichnisnamen mit Leerzeichen sind auch nicht die beste Wahl.

von source file gühnter (Gast)


Lesenswert?

Hi
Also ich seh da kein leerzeichen!
source file gühnter

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

er erwartetet die datei
>dogm_spi.h"
im Ordner
>C:\Dokumente und Einstellungen\Tobias\Eigene Dateien\main.c 2
zu finden

es ist eine headerdatei auf welche im programmverlauf zugegriffen werden 
soll, und welche deshalb includiert werden soll. sie ist offenbar in den 
compilerdirektiven deines Hauptprogrammes aufgeführt.

und kann vom compiler nicht am ihm bekannten ort gefunden werden.

tja und das teilt er dir als "fatal error" mit, womit er zweifels ohne 
recht tut.

verlangte mann von dir du mögest auf der landstraße einen reifen 
aufpumpen, und du hättest keine Luftpumpe so stündest du jetzt da wie 
der arme compiler, welcher dir seine hilflosigkeit nahezubringen 
versucht.

Du Chef, mach was sonst kann ich nicht arbeiten. :-(

von Carmen (Gast)


Lesenswert?

Winfried, deine Umschalttaste ist defekt!

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

nein ist sie nicht, ich bin zu faul und zu alt jeden text auf richtige 
groß- und kleinschreibung durchzusehen und wenn ich kopfweh habe tu 
ich's einfach nicht ;-)

von Carmen (Gast)


Lesenswert?

Dies ist aber eine Forenregel, die du beachten solltest.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

bitte einmal

dogm_spi.h

für den herren, ders verschusselt hat

;-)


p.s. tut mir leid benutzte CVAVR und kann nicht mit sowas dienen ;-(

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

@ carmen


die einen menschen machen regeln, andere brechen sie.

achja man sollte die regeln kennen bevor man sie bricht.

sorry: aber meine mutter ist lehrerin. das hat meinen lernprozess im 
brechen von regeln beschleunigt ;-)))

von Johannes M. (johnny-m)


Lesenswert?

source file gühnter wrote:
> Also ich seh da kein leerzeichen!
[...]
> C:\Dokumente und Einstellungen\Tobias\Eigene Dateien\main.c
              ^   ^                           ^
Hmm, ich seh gleich drei Stück davon... Daran liegts aber wie gesagt 
vermutlich nicht.

Außerdem kann man davon ausgehen, dass zu einer .h-Datei auch eine 
.c-Datei gehört (ist nicht immer so, aber meistens...), die dem Compiler 
bekannt sein muss. Und es gibt einen Unterschied zwischen
#include"DATEINAME" und
#include<DATEINAME>

Und die Datei dogm_spi.h (und die eventuell dazugehörige dogm_spi.c) 
sind afaik keine Standard-Library-Dateien. Da musst Du schon wissen, wo 
Du das Programm herhast...

von Johannes M. (johnny-m)


Lesenswert?

Oh, der Carmen-Troll ist wieder aktiv... BITTE NICHT FÜTTERN!

von Carmen (Gast)


Lesenswert?

Schon geschehen!

von source file gühnter (Gast)


Lesenswert?

Hallo
ich hab den sourscode gefunden!!Der Compiler hat des aber gar nicht gern 
wenn man die Bitmaasken wie unten gezeigt einfügt
#define SPIRS 0x80    /* Hier die Bitmasken für die verwendeten Ports 
einstellen! */
#define SPISDA 0x40   /* z.B. RS an P1.7 ist SPIRS 0x80 (binär 1000 
0000) */
#define SPISCL 0x20   /* und CSB an P1.0 ist SPICSB 0x1 (binär 0000 
0001) */
#define SPICSB 0x01

#define SET1(flags) P1OUT |= (flags); /* Mit diesen Makros die Bits von 
oben stellen! */
#define RST1(flags) P1OUT &= ~(flags);

von Karl H. (kbuchegg)


Lesenswert?

source file gühnter wrote:
> Hallo
> ich hab den sourscode gefunden!!Der Compiler hat des aber gar nicht gern
> wenn man die Bitmaasken wie unten gezeigt einfügt

Und du glaubst damit kann jetzt irgendwer etwas anfangen?
"Der Compiler hat das gar nicht gerne" ist keine vernünftige
Fehlermeldung.

"Mechaniker, mein Auto will nicht!"
"Doktor, es tut weh!"

von To (Gast)


Lesenswert?

Hallo
#define SPIRS 0x80    /* Hier die Bitmasken für die verwendeten Ports
einstellen! */
#define SPISDA 0x40   /* z.B. RS an P1.7 ist SPIRS 0x80 (binär 1000
0000) */
#define SPISCL 0x20   /* und CSB an P1.0 ist SPICSB 0x1 (binär 0000
0001) */
#define SPICSB 0x01

#define SET1(flags) P1OUT |= (flags); /* Mit diesen Makros die Bits von
oben stellen! */
#define RST1(flags) P1OUT &= ~(flags);

>Wenn ich das Programm so lasse wie oben steht gibt es kein Error.
>Wenn ich aber wie folgend schreibe giebt er

 Error[Pe055]: too many arguments in macro invocation C:\Dokumente und 
Einstellungen\Tobias\Eigene Dateien\dogm_spi.h 41
Error[Pe055]: too many arguments in macro invocation C:\Dokumente und 
Einstellungen\Tobias\Eigene Dateien\dogm_spi.h 42
Error[Pe055]: too many arguments in macro invocation C:\Dokumente und 
Einstellungen\Tobias\Eigene Dateien\dogm_spi.h 49
Error[Pe055]: too many arguments in macro invocation C:\Dokumente und 
Einstellungen\Tobias\Eigene Dateien\dogm_spi.h 52
Error[Pe055]: too many arguments in macro invocation C:\Dokumente und 
Einstellungen\Tobias\Eigene Dateien\dogm_spi.h 53
Error[Pe055]: too many arguments in macro invocation C:\Dokumente und 
Einstellungen\Tobias\Eigene Dateien\dogm_spi.h 60

>als Fehler/Errormeldung aus.Hier die Änderung:

#define SPIRS 0x80    /* Hier die Bitmasken für die verwendeten Ports 
einstellen! */
#define SPISDA 0x40   /* z.B. RS an P1.7 ist SPIRS 0x80 (binär 1000 
0000) */
#define SPISCL 0x20   /* und CSB an P1.0 ist SPICSB 0x1 (binär 0000 
0001) */
#define SPICSB 0x01

#define SET1(0x80) P1OUT |= (0x40); /* Mit diesen Makros die Bits von 
oben stellen! */
#define RST1(0x20) P1OUT &= ~(0x01);

>To

von Karl H. (kbuchegg)


Lesenswert?

UN dwo werden die Makros letztendlich benutzt?

von ARM-Fan (Gast)


Lesenswert?

>#define SET1(0x80) P1OUT |= (0x40);
>#define RST1(0x20) P1OUT &= ~(0x01);

Naja, das is ja wohl Käse. Was soll das deiner Meinung nach bewirken?

von To (Gast)


Lesenswert?

Hi
Was weis ich?
Im Text steht:
>Mit diesen Makros die Bits von oben stellen! */
Was würdest du machen?
THX für die Antwort

To

PS:
>UN dwo werden die Makros letztendlich benutzt?
 Ich hab nur den Anfang der C-Datei oben eingefügt.

von To (Gast)


Lesenswert?

Hi
Keine Antwort???????
To

von Karl H. (kbuchegg)


Lesenswert?

Mit dem bischen, das du herzeigst, kann dir immer noch
keiner vernünftig helfen.

von Tobi (Gast)


Lesenswert?


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.