I do have the analog pin connected to ground.
I am using the MK02FN64VFM10 32pin package
I am doing the following to configure the internal VREF.
while(!(VREF_SC&VREF_SC_VREFST_MASK))
{};
VREF_SC=0xc2;
I configure the adc by:
adc16_user_config_t adcUserConfig = {
.intEnable = false,
.lowPowerEnable = true,//false,
.clkDividerMode = kAdcClkDividerInputOf8,
.resolutionMode = kAdcResolutionBitOfSingleEndAs12,
.clkSrcMode = kAdcClkSrcOfBusClk,
.asyncClkEnable = false,
.highSpeedEnable = true,
.hwTriggerEnable = false,
.dmaEnable = false,
.refVoltSrcMode= kAdcRefVoltSrcOfValt,
.continuousConvEnable =false
};
adc16_status_t status = ADC16_DRV_Init(ADC_INST, &adcUserConfig);
I read the adc by:
for(int i =0; i < ADC_TABLE_COUNT; i++)
{
U16 id = read_ADC_raw_value(i);
//id = (id * 1700 / 4096);
printf("ADC Table %d ->%d \n",i , id);
}