Im Wizard unter Analog ändere ich mit Aquisition Time den Wert "ADC_TAD_MUL_X", was dann
vermutlich die "ACQT2:ACQT0: A/D Acquisition Time Select bits" setzt.
Ja.
MitClock dann die "ADC_CLOCK_DIV_X", was wohl die "ADCS2:ADCS0: A/D Conversion Clock Select bits"
setzt.
Ja.
Wieso heisst das jetzt bitte auch TAD?
Weil über <ADCS2:ADCS0> TAD eingestellt wird. Die Einstellung der "Conversion Clock" ist nichts anderes als die Einstellung von TAD. Wenn Du z.B. bei 20MHz Oszillatorfrequenz <ADCS2:ADCS0> auf 16 TOSC einstellst, setzt Du damit
TAD = 16 * (1/20MHz) = 800nsDie Einstellung von <ACQT2:ACQT0> hat
keinen Einfluß auf TAD, sondern verwendet die zuvor eingestellte TAD als Zeibasis. Wenn <ACQT2:ACQT0> auf 8 TAD konfiguriert wird, beträgt die Acquisition Time somit 8 * 800ns.
Und ums noch verwirrender zu machen: Im aktuellen Manual des CCS auf Seite 41:
delay_us(10); //a small delay is required after setting the channel
//and before read
Warum? Ich denke, dass hab ich über die Acquisition Time hardwaremäßig eingestellt?
Nicht alle PICs verfügen über die "automatische" Acquisition Time. Bei vielen älteren PICs muß man selbst dafür sorgen, daß eine hinreichend lange Zeit gewartet wird. Für den 18F4680 ist dieser zusätzliche Delay natürlich unnötig.
Viele Grüße
Bernd