Tool/software: TI-RTOS
Dear TI-Expert,
I have a strange problem in getting adc channels 16 .. 19 working with the sequencer. I'm using a program derived from adcbufmultichannel with the following entry in the ADCBufMSP432E4_Channels structure array for channel 19:
{
.adcPin = ADCBufMSP432E4_PK_3_A19,
.adcSequence = ADCBufMSP432E4_Seq_0,
.adcInputMode = ADCBufMSP432E4_SINGLE_ENDED,
.adcDifferentialPin = ADCBufMSP432E4_PIN_NONE,
.adcInternalSource = ADCBufMSP432E4_INTERNAL_SOURCE_MODE_OFF,
.refVoltage = 3300000
},
It needs the ADC_SSEMUX0 to be one at the corresponding bit position. This channel has further no differntial pin - like no pin in my project.
I get strange readings from the ADC. When debugging after the call of ADCBuf_convert I get the following register values:
Channels 16..19 are used by ADC1 sequencer 0, 5th ..8th sample.
As you can see the ADC_SSEMUX0 bit is not set, but the ADC_SSCTL0_D7 bit (8th Sample Differential Input Select) is set.
The same issue got observed for ADC0 sequencer 1, 4th sample for channel 19. Thus it seems not to be related to a specific ADC or sequencer or the position in the sequence. I tried another channel <16 instead of channel 19 and it worked fine.
I suspect the definitions
#define ADCBufMSP432E4_PK_0_A16 ((16 << 16) | 0x6101)
#define ADCBufMSP432E4_PK_1_A17 ((17 << 16) | 0x6102)
#define ADCBufMSP432E4_PK_2_A18 ((18 << 16) | 0x6104)
#define ADCBufMSP432E4_PK_3_A19 ((19 << 16) | 0x6108)
in ADCBufMSP432E4.h to be wrong, such that ADCSequenceStepConfigure writes into the wrong registers.
Could you check those?