Danke an alle - es funktioniert jetzt.
Procedure InitADC; // Init für ADC 9-11
Begin
ASM;
LDI _ACCCLO, ADCACAL0
CLR _ACCCHI
LDI _ACCA, 2
STS NVMCMD, _ACCA
LPM
STS ADCACALL, _ACCGLO
LDI _ACCA, 0
STS NVMCMD, _ACCA
LDI _ACCCLO, ADCACAL1
CLR _ACCCHI
LDI _ACCA, 2
STS NVMCMD, _ACCA
LPM
STS ADCACALH, _ACCGLO
LDI _ACCA, 0
STS NVMCMD, _ACCA
LDI _ACCA, 8
STS ADCACTRLB, _ACCA
LDI _ACCA, 02h // Original 02h
STS ADCAREFCTRL, _ACCA
LDI _ACCA, 06h
STS ADCAPRESCALER, _ACCA
LDI _ACCA, 80h
STS ADCAEVCTRL, _ACCA
LDI _ACCB, 81h
STS ADCACH0CTRL, _ACCB
STS ADCACH1CTRL, _ACCB
STS ADCACH2CTRL, _ACCB
LDI _ACCA, 48h // Original $00 = 0 / ADC8=40h
STS ADCACH0MUXCTRL, _ACCA
LDI _ACCA, 50h // Original $08 = 1
STS ADCACH1MUXCTRL, _ACCA
LDI _ACCA, 58h // Original $18 = 2
STS ADCACH2MUXCTRL, _ACCA
LDI _ACCA, 1Dh
STS ADCACTRLA, _ACCA
EndAsm;
End InitADC;
Einfach 3 ADC_A definieren und danach obiges InitADC ausführen. Danach kann man Kanal 9-11 (von 0 an gezählt) mit GetADC(0)-GetADC(2) auslesen. Das Init ist für 12Bit, ADCPrescA=256 und ADCRefA=Ref100.
Gruss
Harry
Code
Procedure InitADC; // Init für ADC 9-11
Begin
ASM;
LDI _ACCCLO, ADCACAL0
CLR _ACCCHI
LDI _ACCA, 2
STS NVMCMD, _ACCA
LPM
STS ADCACALL, _ACCGLO
LDI _ACCA, 0
STS NVMCMD, _ACCA
LDI _ACCCLO, ADCACAL1
CLR _ACCCHI
LDI _ACCA, 2
STS NVMCMD, _ACCA
LPM
STS ADCACALH, _ACCGLO
LDI _ACCA, 0
STS NVMCMD, _ACCA
LDI _ACCA, 8
STS ADCACTRLB, _ACCA
LDI _ACCA, 02h // Original 02h
STS ADCAREFCTRL, _ACCA
LDI _ACCA, 06h
STS ADCAPRESCALER, _ACCA
LDI _ACCA, 80h
STS ADCAEVCTRL, _ACCA
LDI _ACCB, 81h
STS ADCACH0CTRL, _ACCB
STS ADCACH1CTRL, _ACCB
STS ADCACH2CTRL, _ACCB
LDI _ACCA, 48h // Original $00 = 0 / ADC8=40h
STS ADCACH0MUXCTRL, _ACCA
LDI _ACCA, 50h // Original $08 = 1
STS ADCACH1MUXCTRL, _ACCA
LDI _ACCA, 58h // Original $18 = 2
STS ADCACH2MUXCTRL, _ACCA
LDI _ACCA, 1Dh
STS ADCACTRLA, _ACCA
EndAsm;
End InitADC;
Einfach 3 ADC_A definieren und danach obiges InitADC ausführen. Danach kann man Kanal 9-11 (von 0 an gezählt) mit GetADC(0)-GetADC(2) auslesen. Das Init ist für 12Bit, ADCPrescA=256 und ADCRefA=Ref100.
Gruss
Harry