Beispiel aus gcc Tutorial

Gast #182145
Hi Leute

habt Ihr ne Ahnung was für Headerfiles ich benötige damit bei mir das
Beispiel aus dem gcc Tutorial unter "aktivieren des ADC" auch
funktioniert ?

Compiler bringt folgende Fehlermeldungen:


neu.c:3: error: parse error before "channel"
neu.c:4: warning: return type defaults to `int'
neu.c:4: warning: function declaration isn't a prototype
neu.c: In function `ReadChannel':
neu.c:5: error: `uint8_t' undeclared (first use in this function)
neu.c:5: error: (Each undeclared identifier is reported only once
neu.c:5: error: for each function it appears in.)
neu.c:5: error: parse error before "i"
neu.c:6: error: `uint16_t' undeclared (first use in this function)
neu.c:8: error: `ADCSRA' undeclared (first use in this function)
neu.c:8: error: `ADEN' undeclared (first use in this function)
neu.c:8: error: `ADPS1' undeclared (first use in this function)
neu.c:8: error: `ADPS0' undeclared (first use in this function)
neu.c:11: error: `ADMUX' undeclared (first use in this function)
neu.c:11: error: `channel' undeclared (first use in this function)
neu.c:12: error: `REFS1' undeclared (first use in this function)
neu.c:12: error: `REFS0' undeclared (first use in this function)
neu.c:16: error: `ADSC' undeclared (first use in this function)
neu.c:17: error: `ADIF' undeclared (first use in this function)
neu.c:19: error: `result' undeclared (first use in this function)
neu.c:22: error: `i' undeclared (first use in this function)
neu.c:26: error: `ADC' undeclared (first use in this function)
neu.c:37:2: warning: no newline at end of file
make.exe: *** [neu.o] Error 1

der kennt wohl die Register nicht

Danke für eure Hilfe
Gast
Weiß gerade nicht, welches Tutorial genau, aber was sofort
auffällt:

<avr/io.h> => ADCSRA usw. (*)
<stdint.h> => uint8_t, uint16_t usw.

> neu.c:4: warning: return type defaults to `int'
> neu.c:4: warning: function declaration isn't a prototype

Sieht so aus, als hättest du hier ein SIGNAL(SIG_IRGENDWAS)
stehen und <avr/signal.h> vergessen.

(*) das braucht auch den passenden -mmcu=... Compilerschalter
Gast
eine Frage noch

Das is der Funktionskopf is klar:
uint16_t ReadChannel(uint8_t channel)

aber was is das für ein komischer Übergabeparameter?

(uint8_t channel)
Gast
Das is klar blos isses doch so:
Rückgabetyp Funktionsname(übergabeparameter:parametertyp)
was ist channel für ein Datentyp bzw. wo is der definiert ?
Gast
.

  "was ist channel für ein Datentyp bzw. wo is der definiert ?"


Da steht alles:

uint16_t ReadChannel(uint8_t channel)


   channel ist vom Typ uint8_t
   der Rückgabetyp ist uint16_t

Glaub' ich daran, diese Frage (s.o.) hier wirklich gesehen zu haben?

Oder geht es darum, herauszufinden, was uint8_t ist? "unsigned char"
- wird's klarer?
Gast
>Rückgabetyp Funktionsname(übergabeparameter:parametertyp)

Das ist so nicht ganz richtig.

<Rückgabetyp> <Funktionsname>([void|<Parametertyp & Parametername>])

Antwort schreiben

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