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.
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.
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.
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.
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
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.
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???
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.