mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR XMEGA ADC Compilefehler


Autor: Adam Wünzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nabend,

kann mir jemand sagen warum ich hier:
#include <avr/io.h>
#include "adc.h"



void init_adc(void)
{

 ADCB.CTRLA = ADC_ENABLE_bm; // Enable ADCB
 ADCB.CTRLB = ADC_RESOLUTION_8BIT_gc; // 8Bit Resolution
 ADCB.REFCTRL = ADC_REFSEL_AREFB_gc; // External Referance on AREFB 
 ADCB.PRESCALER = ADC_PRESCALER_DIV512_gc; // Prescaler = 512
 ADCB.CH0.CTRL = ADC_CH_INPUTMODE_SINGLEENDED_gc;   // Singleended

}



unsigned int read_adc_channel(unsigned char channel)
{

 ADCB.CH0.MUXCTRL = channel << 3;

 ADCB.CH0.CTRL |= ADC_CH_START_bm; 
 //while(!ADCB.CH0.INTFLAGS);
 while(((ADCB.CH0.INTFLAGS & ADC_CH_CHIF_bm) == 0x00));

 return ADCB.CH0RESH;

}

diese Fehler bekomme:

Build started 8.11.2010 at 20:08:12
avr-gcc  -mmcu=atxmega128a1 -Wall -gdwarf-2 -std=gnu99 
-DF_CPU=32000000UL -O1 -funsigned-char -funsigned-bitfields 
-fpack-struct -fshort-enums -MD -MP -MT adc.o -MF dep/adc.o.d  -c 
../adc.c
../adc.c: In function 'init_adc':
../adc.c:13: error: expected identifier before numeric constant
../adc.c: In function 'read_adc_channel':
../adc.c:22: error: expected identifier before numeric constant
../adc.c:24: error: expected identifier before numeric constant
../adc.c:26: error: expected identifier before numeric constant
make: *** [adc.o] Error 1
Build failed with 4 errors and 0 warnings...

Autor: Hannes Jaeger (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wir sollen jetzt alle wie die Idioten Zeilen zählen um die Zeilen 
13, 22, 24, und 26 zu finden?

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sry. Der Fehler liegt immer in denn " ADCB.CH0. " Zeilen.

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zippe mal das ganze Projekt und lads hoch. Dann kann man vllt eher 
sagen, woran es liegt.

Gruß Skriptkiddy

Autor: XMEGA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,



Adam Wünzel schrieb:
> kann mir jemand sagen warum ich hier:

mit Klammer sollte es funktionieren (channel << 3)


Gruß XMEGA

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein geht nicht. Das Problem ist ja in all diesen zeilen vorhanden. Es 
hat irgendwie etwas mit dem .CH0 zutun allerdings frag ich mich warum? 
Weil ansich stimmt das ja also bei anderen geht es nur bei mir nicht.

 ADCB.CH0.CTRL = ADC_CH_INPUTMODE_SINGLEENDED_gc;

 ADCB.CH0.MUXCTRL = (channel << 3);

 ADCB.CH0.CTRL |= ADC_CH_START_bm;

 while(((ADCB.CH0.INTFLAGS & ADC_CH_CHIF_bm) == 0x00));

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FEHLER GEFUNDEN! Man sollte seine Channel defines halt nicht CH0,... 
nennen.
:)

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.