Other Parts Discussed in Thread: C2000WARE
Tool/software: Code Composer Studio
Hi,
starting from C2000Ware_1_00_04_00 ADC example (adc_ex1_soc_software.c within ..\driverlib\f28004x) and using TMDSCNCD280049M control card, I've configured ADCB, as ADC peripheal and a SOC for a SW triggered conversion.
Once the ADC conversion is completed (i.e. the correspoding ADC int flag is found set in the ADC INTFLAG register), I check the content of ADCB control 1 register (ADCCTL1) with CCS and I found that the field ADCBSYCHN is set to the value of SOC number instead of associated ADC channel number.
Hereafter I reports the content of main ADCB registers as read from CCS Registers window just after the correspoding int flag is found set (I'm using ADC INT2, and I've configured only one SOC):
ADCCTL1 0x0284 ADC Control 1 Register [Memory Mapped]
ADCBSY 0 ADC Busy
ADCBSYCHN 0010 ADC Busy Channel
ADCPWDNZ 1 ADC Power Down
INTPULSEPOS 1 ADC Interrupt Pulse Position
ADCINTFLG 0x0002 ADC Interrupt Flag Register [Memory Mapped]
ADCINT4 0 ADC Interrupt 4 Flag
ADCINT3 0 ADC Interrupt 3 Flag
ADCINT2 1 ADC Interrupt 2 Flag
ADCINT1 0 ADC Interrupt 1 Flag
ADCINTSEL1N2 0x2200 ADC Interrupt 1 and 2 Selection Register [Memory Mapped]
ADCSOCPRICTL 0x0040 ADC SOC Priority Control Register [Memory Mapped]
RRPOINTER 00010 Round Robin Pointer => last converted SOC is 2
SOCPRIORITY 00000 SOC Priority
ADCSOC2CTL 0x00068009 ADC SOC2 Control Register [Memory Mapped]
TRIGSEL 00000 SOC Trigger Source Select
CHSEL 1101 SOC Channel Select
If I repeat the test, only changing the configured SOC, i found ADCBSYCHN set to the new soc number instead of to the CHSEL field of ADCSOCxCTL register.