www.mikrocontroller.net

Forum: Compiler & IDEs "warning: implicit declaration of function"


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammmen,

Ich bin ein C Anfänger und bin gerade dabei mir Funktionen für einen 
Analog
Digitalwandler zusammenzubasteln.

Die Funktion "Load_DAC_CHA" funktioniert einwandfrei.
Nun wollte ich eine Initialisierung schreiben mit den der DAC seinen
Ausgang auf Null setzt.

Dazu gibt es nun eine Funktionen "Init_DAC_CHA" welche das entsprechende
Datenbit was über das SPI Interface "CHA_DATA" auf Null setzt und
dann die Funktion "LOAD_DAC_CHA" aufruft.
Die Variable "CHA_DATA" ist als volatile definiert.

Den Rest könnt Ihr euch ja anschauen. Vorwarnen möchte ich euch da
ich kein C-Buch habe sondern mir alle "nötigen" Sachen aus den Netz
nachlese und den Rest zusammenklamüsel bis es funktioniert.

Somit werden mir wahrscheinlich elementare Grundkennnisse fehlen.

Freue mich auf eure Antworten.

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und Deine Frage ist jetzt welche?

Nachtaktiver schrieb:
> Vorwarnen möchte ich euch da
> ich kein C-Buch habe sondern mir alle "nötigen" Sachen aus den Netz
> nachlese und den Rest zusammenklamüsel bis es funktioniert.

Das halte ich für keine sinnvolle Vorgehensweise.  Sollen Dir die 
anderen jeweils die passende Stelle vorlesen oder wie stellst Du Dir das 
vor?  In diesem Fall wäre das der Abschnitt zur Funktionsdeklaration.

Autor: Nachtaktiver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann auch unfreundlich antworten. Ich möchte doch nur wissen
was ich falsch gemacht habe.
Recherchen haben nichts sinnvolles ergeben, da darf man dann doch 
fragen.
Hier im Forum werden komplette Hardwaredesigns vorgekaut und hier fragt
man nach einer Funktion und wird schief angesprochen.

Glaubst du etwas das ich die ganze Zeit so vorangehen werde?
Ich habe jetzt die Hardware fertig und wollte die schonmal ein wenig
antesten anstatt das alles links neben mir liegt.

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jedenfalls wird Dir hier auf eine so gestellte Frage wahrscheinlich 
keiner antworten.
Deine Ansprüche an uns kannst Du natürlich haben aber wir müssen sie ja 
nicht erfüllen.

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke, sooo unfreundlich war ich nicht.  Es war auch der Hinweis 
dabei, dass Du unter „Funktionsdeklaration“ nachsehen kannst, was der 
Compiler bemängelt.

Also durchaus etwas, was Dich weiterbringen würde, wenn Du nicht gleich 
damit beschäftigt gewesen wärst, an die Decke zu gehen, weil jemand 
etwas an Deiner skizzierten C-Lernmethode zu bemängeln wagt.  Und dass 
die nicht sinnvoll ist, kann ich nur wiederholen.  Es hat keinen Sinn, 
sich das Zeug stückchenweise aus dem Netz zusammenzutragen.  Um ein paar 
Grundlagen wirst Du nicht herumkommen.

Autor: Nachtaktiver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Tipp das diese Lernweise banal ist beherzige ich auch. Es ist nur so 
das ich mir ein Buch mit Grundlagen am Samstag Abend um 18oo nicht 
herzaubern kann. Zumal mir die Problematik auch gar nicht so bewusst ist 
da ich den Problemumfang auch gar nicht abschätzen kann.
Hätte ja sein können das dass etwas total banales ist.


Nach Funktionsdekleration schaue ich auch gerade, bei meiner
Suche habe ich Begriffe wie "Parameterübergabe" oder 
"Funktionsdefinition"
gesucht.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtaktiver schrieb:
> Den Tipp das diese Lernweise banal ist beherzige ich auch. Es ist nur so
> das ich mir ein Buch mit Grundlagen am Samstag Abend um 18oo nicht
> herzaubern kann.

Faule Ausrede!

http://www.wachtler.de/ck/index.html

Oder ca. 1000 andere.

Nachtaktiver schrieb:
> Hätte ja sein können das dass etwas total banales ist.

Ist es, aber es gibt so viele mehr oder weniger banale Dinge,
daß man die nicht in einem Forum als Ratespiel machen muß.

Autor: Simon Budig (nomis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Google-Pro-Tip:

Googele direkt nach dem Text der Compiler-Fehlermeldung, evtl. bereinigt 
um Dateinamen oder Zeilennummern.

Es ist ziemlich unwahrscheinlich, dass Du der Erste bist, der diese 
Fehlermeldung nicht verstanden hat  :)

Viele Grüße,
        Simon

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Warnung besagt, daß eine Funktion verwendet wird, für welche der 
Compiler den Prototyp raten muss.

Schreib Prototypen für deine Funtionen und mache in den die Funktion 
verwendenden/imlementierenden Modulen einen Prototypen zugänglich.

Autor: mar IO (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtaktiver schrieb:
> Den Rest könnt Ihr euch ja anschauen. Vorwarnen möchte ich euch da
> ich kein C-Buch habe sondern mir alle "nötigen" Sachen aus den Netz
> nachlese und den Rest zusammenklamüsel bis es funktioniert.

Das funktioniert nur, wenn man schon Erfahrungen mit Programmieren 
gesammelt hat und im Großen und Ganzen weiß was man macht.

Auch im Internet findet man Tutorial/online Büncher/Skripte/... über C. 
Das Lernen von C soll schon einen gewissen Weg verfolgen und nicht wüst 
durcheinander über die C-Landschaft gehen.

Kann mir nicht vorstellen, dass die Bedeutung des "Warnings" nicht im 
Internet zu finden ist => Wieso hat in diesem Fall das "alle nötigen 
Sachen aus dem Netz nachlesen" nicht funktioniert???

Autor: Nachtaktiver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe konkret nach dem Fehler gesucht habe aber irgendwie nichts 
brauchbares ergeben. Gleichzeitig waren meine Suchbegriffe "falsch"
und haben mich folglich nicht zu den richtigen Infos verholfen.

Als Haupthilfe benutze ich das AVR-GCC Toturial und alles andere
was für mich nicht verständlich ist suche ich extern.

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtaktiver schrieb:
> Ich habe konkret nach dem Fehler gesucht habe aber irgendwie nichts

Welcher Fehler? Es ist doch eine Warnung. Zu der gibt der Compiler die 
Zeilennummer und die Quelldatei an, wie zu Fehlern auch.

Autor: Nachtaktiver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich ist das kein richtiger Fehler da ja der Compiler alles 
compiliert, aber eine solche Warnung steht da nicht ohne Grund.

Die kurze und einfache Fehlererklärung von Johann L. hat mich nun
endgültig weiter gebracht.

Zusammengefasst:
Musste ich einen Funktionsprotoytypen schreiben der angibt welchen
Datentyp die Funktion enthält und was für ein Datentyp einer
anderen Funktion überreicht wird. Beim Aufrufen einer Unterfunktion
reiche ich somit diese Variable für die verarbeitung weiter.

Nun habe ich alles angepasst und alles funktioniert so wie es sollte
und im Compilerfenster erhalte ich auch keine Warnungen/Fehler mehr.


Auch funktionieren diese Funktion auf der Hardware und die Init_DAC_CHx
Funktion setzt den DAC Ausgang auf 0V und überschreibt die Datenbits.

Die jetzt angepasst Load_DAC_CHx Funktion setzt den Ausgang
des DAC um den passenden Wert.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtaktiver schrieb:
> Natürlich ist das kein richtiger Fehler da ja der Compiler alles
> compiliert, aber eine solche Warnung steht da nicht ohne Grund.

Das wiederum ist richtig.

Beitrag #2794717 wurde vom Autor gelöscht.

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.