error: expected identifier or '(' befor numeric constant

Gast #940673
Lesenswert?

Danke für die schnelle Hilfe. :-)

Das Programm ist für die serielle Übertragung von Daten zu einem LCD.
Das ist einbischen lang weil Befehle und dann Zeichen einzeln und 
nacheinander geschickt werden.
Das ist für ein Tiny45
und wird mit dem Studio 4 compiliert
Angehängte Dateien:
Gast #940695
Lesenswert?

Der Fehler lässt sich schwer finden, wenn du uns nicht die Zeile
verrätst, für die er gemeldet wird, oder die fehlenden Include-Dateien
mitlieferst.

Ich habe einen anderen Fehler entdeckt :)

Zeilen 190-193:
1
DispData = DispFL6;
2
SeriellSenden(0);
3
DispData = Zeichen_l;  // <===
4
SeriellSenden(1);

Müsste an der markierten Stelle nicht ein "Zeichen_a" statt
"Zeichen_l" stehen? Entsprechende Anpassungen müssen natürlich auch
die nächsten 40 Code-Zeilen gemacht werden.
Gast #940698
Lesenswert?

tut mir leid für das lange Code, aber momentan komme ich nicht weiter 
habe versucht es zu verkürzen nur leider meine Kenntnisse sind nicht so 
gross.

die Zeile sind 336 und 346

doch Fuenf und Zehn habe ich in einer Headerdatei definiert.

#define Zehn           10
#define Fuenf          5
Gast #940706
Lesenswert?

> tut mir leid für das lange Code, aber momentan komme ich nicht weiter
> habe versucht es zu verkürzen nur leider meine Kenntnisse sind nicht so
> gross.

Du hättest ja den Bereich posten können, in dem der Fehler ist, mit der 
beanstandeten Zeile irgenwie markiert.

> doch Fuenf und Zehn habe ich in einer Headerdatei definiert.
> #define Zehn           10
> #define Fuenf          5

Wozu um alles in der Welt soll das gut sein? Für den Fall, daß sich fünf 
mal ändert und auf einmal den Wert 6 hat?
Gast #940708
Lesenswert?

> die Zeile sind 336 und 346

Die Datei hat 331 Zeilen.

> #define Zehn           10
> #define Fuenf          5

Schreibst du, wenn du in deinem Programm die Zahl 1396738471 brauchst
1
#define Einemilliardedreihundertsechsundneunzigmillionensiebenhundertachtunddreissigtausendvierhunderteinundsiebzig 1396738471
?

Übrigens ist der Wettbewerb, an dem du teilnehmen möchtest, leider
seit über einem Jahr schon vorbei:

  http://www.de.ioccc.org/main.html

'tschuldigung, ist einfach so über mich gekommen :)
Gast #940720
Lesenswert?

also die Seite brauche ich ehh nicht, will nicht an irgendein Wettbewerb 
teilnehmen
ich hätte besser Verbesserungsmöglichkeiten oder ein Rat erwartet

und die Fehler Tauchen in der genannten Zeilen auf, wo nix steht
Gast #940726
Lesenswert?

> also die Seite brauche ich ehh nicht, will nicht an irgendein
> Wettbewerb teilnehmen ich hätte besser Verbesserungsmöglichkeiten
> oder ein Rat erwartet

Nichts für ungut, ich habe mich ja schon dafür entschuldigt.

Trotzdem spuckt der Compiler keine Fehlermeldungen für Zeilen aus, die
jenseits des Endes der Quellcodedatei liegen. Vielleicht ist der
Fehler gar nicht in der von dir geposteten Datei, sondern in einer der
Include-Dateien, die vielleicht tatsächlich länger ist. Der Dateiname
wird direkt vor der Zeilennummer angezeigt. Steht da wirklich

  disp-init.c:336: error: ...

Wenn ja, dann ist die Datei, die du kompiliert hast, mit der
geposteten nicht identisch.
Gast #940739
Lesenswert?

ist kein Ding Yalu :-) nur sind diese errors für ein Anfänger ein 
richtiger Schrek.

Ich bekomme genau die Meldung
disp-init.c:336: error: ...
disp-init.c:349: error: ...

> Wenn ja, dann ist die Datei, die du kompiliert hast, mit der
> geposteten nicht identisch.

Was soll man in so einem Fall tun
Gast #940746
Lesenswert?

>> Wenn ja, dann ist die Datei, die du kompiliert hast, mit der
>> geposteten nicht identisch.

>Was soll man in so einem Fall tun

Die Originale posten. Und zwar alle Dateien.
Dann kann man das mal selber durch den Compiler jagen.
Gast #940774
Lesenswert?

... und in disp_init.c sind zwei Funktionen mit diesem Namen
definiert. Der Präprozessor ersetzt die Namen durch "3" bzw. "4", so
dass dasteht:
1
void 3() {
2
...
3
}
4

5
void 4() {
6
...
7
}

So war das sicher nicht beabsichtigt :)
Gast #940784
Lesenswert?

Vielleicht benennst du die Funktionen TestTasteZwei und
TestTasteDrei um in DispTestTasteZwei und DispTestTaste3. Diese
Namen passen auch besser zu DispInitialisierung und
DispAnzeigeMessung, bei denen es auf Grund des Prefixes Disp
keinen Konflikt mit den entsprechenden Defines in Initialisierung.h
gibt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren