Forum: Mikrocontroller und Digitale Elektronik Keil + Präprozessor


von Neuling (Gast)


Lesenswert?

Hi,

ich sitz hier schon ne geschlagene halbe Stunde und versuche folgendes 
Programm zum Laufen zu bekommen (den Sourcecode hab ich bereits aufs 
Wesentliche reduziert):
1
#define CPU_CLOCK 8000000L;
2
#define PRESCALER 800; 
3
#define TIM_CLK (int)(CPU_CLOCK/PRESCALER)
4
5
int main(){
6
  int multiply;
7
  multiply = ((int)TIM_CLK * 2);
8
}

Doch jedes Mal wenn ich den Sourcecode compiliere, erhalte ich folgende 
Fehlermeldungen:

>error: expected a ")"
>error: expected an expression

Kann mich jemand auf den Fehler hinweisen? Ich sehs einfach nicht...

von Test (Gast)


Lesenswert?

Semikolon in der define zeile

von Neuling (Gast)


Lesenswert?

Vielen Dank! Auf diesen Fehler wär ich wohl lange nicht gekommen...da 
ich immer nach der fehlenden Klammer Ausschau gehalten habe...

von Lehrmann M. (ubimbo)


Lesenswert?

Neuling schrieb:
> Auf diesen Fehler wär ich wohl lange nicht gekommen...da
> ich immer nach der fehlenden Klammer Ausschau gehalten habe...

Daran kannst du dich gleich gewöhnen - wenn du eine Klammer vergessen 
hast, dann gibt's meisten Semikolonfehler, wenn du Semikolons vergessen 
hast gibt's oft einen Klammerfehler oder jeweils eine Kombination aus 
beidem. Wenn man sich ein bissche mit der Funktionsweise eines Compilers 
auseinandersetzt, dann weiß man auch warum.

Noch so eine kleine Anmerkung warum es beim define kein Semikolon gibt. 
Bei den ganzen Präprozessoraktionen ist das so. Das Semikolon kommt nur 
hinter eine Anweisung zur Programmlaufzeit ...

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.