Hi,
So I think I have the muxing set, and I am still seeing the issue. I am sure I am missing something, I am jsut not sure what.
Thanks for all the help, and please see below.
The documentation says that setting it to 0 selects A:

And when I look at the MuxSel register value I see that it is 0.

My ADC init code is as follows:
uint8_t InitializeADC(spi_transfer_t *xfer)
{
adc16_config_t adc16ConfigStruct;
ADC16_GetDefaultConfig(&adc16ConfigStruct);
#ifdef BOARD_ADC_USE_ALT_VREF
adc16ConfigStruct.referenceVoltageSource = kADC16_ReferenceVoltageSourceValt;
#endif
ADC16_Init(ADC16_BASE, &adc16ConfigStruct);
ADC16_EnableHardwareTrigger(ADC16_BASE, false); // Make sure the software trigger is used.
#if defined(FSL_FEATURE_ADC16_HAS_CALIBRATION) && FSL_FEATURE_ADC16_HAS_CALIBRATION
if (kStatus_Success != ADC16_DoAutoCalibration(ADC16_BASE))
{
return ADC_AUTO_CAL_FAILURE;
}
#endif /* FSL_FEATURE_ADC16_HAS_CALIBRATION */
ADC16_SetChannelMuxMode(ADC16_BASE, kADC16_ChannelMuxA);
return 0;
}
And my ADC read code is:
Helpful Defines:
#define ADC16_BASE ADC0
#define ADC16_CHANNEL_GROUP 0U
#define ADC16_CHANNEL_TOP 4U
#define ADC16_CHANNEL_BOTTOM 0U
Channel 4a:
adc16ChannelConfigStruct.channelNumber = ADC16_CHANNEL_TOP;
ADC16_SetChannelConfig(ADC16_BASE, ADC16_CHANNEL_GROUP, &adc16ChannelConfigStruct);
while (0U == (kADC16_ChannelConversionDoneFlag & ADC16_GetChannelStatusFlags(ADC16_BASE, ADC16_CHANNEL_GROUP)))
{}
counts = ADC16_GetChannelConversionValue(ADC16_BASE, ADC16_CHANNEL_GROUP);
Channel 0:
adc16ChannelConfigStruct.channelNumber = ADC16_CHANNEL_BOTTOM;
ADC16_SetChannelConfig(ADC16_BASE, ADC16_CHANNEL_GROUP, &adc16ChannelConfigStruct);
while (0U == (kADC16_ChannelConversionDoneFlag & ADC16_GetChannelStatusFlags(ADC16_BASE, ADC16_CHANNEL_GROUP)))
{}
counts = ADC16_GetChannelConversionValue(ADC16_BASE, ADC16_CHANNEL_GROUP);