Forum: Mikrocontroller und Digitale Elektronik SPI Kommunikation


von Micha (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte eine SPI-Kommunikation zwischen dem ATMEGA 88 und einem 
MAXIM-Baustein (MAX1204 ADC) herstellen, doch ich habe immer noch 3 
Fehler und 3 Warnungen in meinem Programm und ich finde ihn einfach 
nicht.
Hier sind die Fehler und Warnungen:

Build started 14.12.2010 at 23:12:55
avr-gcc.exe  -mmcu=atmega88 -Wall -gdwarf-2 -Os -std=gnu99 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP 
-MT SPI_Vokabeln.o -MF dep/SPI_Vokabeln.o.d  -c  ../SPI_Vokabeln.c
../SPI_Vokabeln.c: In function 'main':
../SPI_Vokabeln.c:100: warning: implicit declaration of function 
'displayMain'
../SPI_Vokabeln.c: In function 'getAnalogData':
../SPI_Vokabeln.c:139: warning: implicit declaration of function 
'SPIConversation'
../SPI_Vokabeln.c:139: error: expected ')' before ';' token
../SPI_Vokabeln.c: At top level:
../SPI_Vokabeln.c:149: error: conflicting types for 'SPIConversation'
../SPI_Vokabeln.c:150: note: an argument type that has a default 
promotion can't match an empty parameter name list declaration
../SPI_Vokabeln.c:139: error: previous implicit declaration of 
'SPIConversation' was here
../SPI_Vokabeln.c: In function 'SPIConversation':
../SPI_Vokabeln.c:214: warning: no return statement in function 
returning non-void
make: *** [SPI_Vokabeln.o] Error 1
Build failed with 3 errors and 3 warnings...


Ich habe euch mal den Quellcode als Anhang bereitgestellt.

Wäre echt gut, wenn ihr eine Lösung findet.

Danke schon mal im Voraus.

Gruß Micha

von eike (Gast)


Lesenswert?

Die Funktion displayMain ist nirgendwo definiert und die Funktion 
SPIConversation sollte noch oben in deinen "Prototypen" stehen. Und 
diese Funktion sollte einen Rückgabewert haben wenn du die Funktion als 
int initialisierst. Sonst nimmste halt ne void.
Das sollte schon mal ein paar Fehler und Warnung beseitigen...

von Micha (Gast)


Lesenswert?

Okay danke.

Aber ich habe noch diesen fehler:

../SPI_Vokabeln.c:140: error: expected ')' before ';' token

keine Ahnung was der will!

von ein_bisher_nicht_beteiligter (Gast)


Lesenswert?

) vergessen  in der Zeile wo er sgt, vor ;
Er sagt doch alles...

von Micha (Gast)


Lesenswert?

eigentlich ist da schon eine Klammer.

Naja egal. trotzdem danke.

von stda (Gast)


Lesenswert?

#defines nicht mit ; abschließen

von Stefan (Gast)


Lesenswert?

Diesen Fehler bekomm ich meistens wenn ich irgendwo im Code nen ; 
vergessen oder zuviel hab. Ist aber immer irgendwo anders als der 
Compiler behauptet...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Klar.
Was macht denn der Präprozessor daraus:
1
#define IPANEL        0b10001111;  // Anweisungsbyte um Strom am Panel zu messen
2
:
3
  stromPanel = SPIConversation(IPANEL);

Das hier:
1
  stromPanel = SPIConversation(0b10001111;);

Und jetzt ist Klar, dass der Compiler, der ja erst nach dem Präprozessor 
dran ist, den Fehler (der schon viel früher passiert ist) in dieser 
Zeile anmotzt.

von Micha (Gast)


Lesenswert?

okay danke.
habe den fehler schon heute morgen gefunden :-).
jetzt geht alles.

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.