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


von Nachtaktiver (Gast)


Angehängte Dateien:

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.

von Hc Z. (mizch)


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.

von Nachtaktiver (Gast)


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.

von Huch (Gast)


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.

von Hc Z. (mizch)


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.

von Nachtaktiver (Gast)


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.

von Klaus W. (mfgkw)


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ß.

von Simon B. (nomis)


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

von Johann L. (gjlayde) Benutzerseite


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.

von mar IO (Gast)


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???

von Nachtaktiver (Gast)


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.

von Johann L. (gjlayde) Benutzerseite


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.

von Nachtaktiver (Gast)


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.

von Klaus W. (mfgkw)


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.

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.