mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI Kommunikation


Autor: Micha (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: eike (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay danke.

Aber ich habe noch diesen fehler:

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

keine Ahnung was der will!

Autor: ein_bisher_nicht_beteiligter (Gast)
Datum:

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

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eigentlich ist da schon eine Klammer.

Naja egal. trotzdem danke.

Autor: stda (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#defines nicht mit ; abschließen

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

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

Das hier:
  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.

Autor: Micha (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.