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