WinAvr kompiliert nicht: expected '=', ',', ';', 'asm' or '

OP Persönliche Seite #722233
Lesenswert?

Hallo an alle,

Ich schreibe gerade einen Bootloader. Leider lässt sich das ganze nicht 
kompilieren. In der Main hab ich nur ein return 0:
1
#include "stk500boot.h"
2

3
int main(void)
4
{
5
  return 0;
6
}

In der stk500boot.h wird die Datei communication.h inkludiert. In dieser 
Datei kann man mit einem Define zwischen RS232 und USB Mode (mit nem 
FT245) wählen.

Wähle ich RS232 lässt es sich kompilieren. Wenn ich USB aktiviere, wird 
der RS232 Code auskommentiert (über #ifdefs). Doch nun funktioniert der 
Code nicht mehr und es gint folgende Fehlermeldung:
1
stk500boot.c: In function 'recchar':
2
stk500boot.c:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
3
stk500boot.c:7: error: expected '{' at end of input
4
stk500boot.c:7: warning: no return statement in function returning non-void

Das ganze bezieht sich auf die main C File. Jedoch gibt es da gar keine 
Funktion recchar(). Die gibt es nur im RS232 Mode. Sie wird aber auch 
nicht verwendet.

Ausgeklammert hab ich so:
1
#include "communication.h"
2

3
#if COMM_MODE == RS232
4
void sendchar(char c)
5
{
6
    ...
7
}
8

9
unsigned char recchar(void)
10
{
11
    ...
12
}
13
#endif

Weiß jemand woran das liegen kann?

Danke im Voraus
Gruß Robert
Gast #722260
Lesenswert?

Der Fehler liegt wahrscheinlich in einem der Header-Files, wird aber
erst in stk500boot.c erkannt. Das ist bspw. dann der Fall, wenn die
Klammern in einem der Header-Files nicht richtig gepaart sind.

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