SPI Kommunikation

Gast #1976430
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
Angehängte Dateien:
Gast
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...
Gast
Diesen Fehler bekomm ich meistens wenn ich irgendwo im Code nen ; 
vergessen oder zuviel hab. Ist aber immer irgendwo anders als der 
Compiler behauptet...
Moderator (Firma: Titel) Persönliche Seite
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.