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
Danke, keine Ahnung was ich da gelesen habe ...
One sixteen-channel, 12-bit, 300ksps Analog to Digital Converter
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?
Gelöst, der Ansatz war richtig, es war ein Syntaxfehler. Danke an das Forum
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.