ATXMega64D3 -> Fehlermeldung Bascom -> Konfiguration Channels.

Gast #5272821
Lesenswert?

Hallo Forum,

ich möchte mit dem ADC eines ATXmega64D3 an PIN PA4 eine Spannung 
messen.
Diesem PIN ist der ADC 4 zugeordnet.

Das Problem: Wenn ich Channel 1,2 oder 3 Konfigurieren möchte gibt 
Bascom eine Fehlermeldung aus. Bei Channel 0 funktioniert es!?

Wenn ich das Datenblatt richtig verstanden habe, hat der ADC 4 Kanäle:

Kanal 0 ist für PIN  0 bis PIN  3
Kanal 1 ist für PIN  4 bis PIN  7
Kanal 2 ist für PIN  8 bis PIN 11
Kanal 3 ist für PIN 12 bis PIN 15

Die "globalen" Einstellungen des ADC gelten für alle Kanäle, wohingegen 
"Gain" und "input mode" für jeden PIN separat eingestellt werden kann.

Ich habe den ADC wie folgt konfiguriert:

Adca_ctrlb = &B00000000
Adca_refctrl = &B01000000
Adca_prescaler = &B00000000

Adca_ch0_ctrl = &B00000001
Adca_ch1_ctrl = &B00000001

Das Problem liegt in der letzten Zeile "Adca_ch1_ctrl = &B00000001".
Hier gibt der Kompiler einen Fehler aus:

Error : 46    Line :   375   Assignment error, unknown variable (DIM) 
[ADCA_CH1_CTRL: 0   &B00000001: 112]

Wie es aussieht kennt Bascom diese Variable nicht. Wie kann ich dann das 
Register schreiben?


Vielen Dank, Dani
Gast #5272901
Lesenswert?

Ich habe das Datenblatt weiter studiert. Was ich herausgelesen habe:

Mit Channel 0 lege ich die Einstellung für alle ADC Eingänge fest.
Die Zuordnung welcher Eingangspin gelesen wird erfolgt über das MUXCTRL 
Register.

D.h. wenn ich dieses auf &B0 0100 000 setze müsste ADC4 PIN ausgewählt 
sein.
(XMega D Manual Seite 248 - 250)

Mit "Adca_muxctrl = &B00100000" gibt es wieder eine Fehlermeldung.

Wie kann ich mit Bascom den Wert an ADC4 auslesen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren