"warning: implicit declaration of function"

Gast #1917646
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.
Angehängte Dateien:
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.
Gast
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.
Gast
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.
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.
Gast
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.
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ß.
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
Gast
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???
Gast
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.
Gast
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.