diff --git a/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/api/analogin_api.c b/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/api/analogin_api.c index fd589d0b85..12bdd4f6e2 100644 --- a/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/api/analogin_api.c +++ b/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/api/analogin_api.c @@ -54,9 +54,6 @@ void analogin_init(analogin_t *obj, PinName pin) { ADC16_Init(adc_addrs[instance], &adc16_config); ADC16_EnableHardwareTrigger(adc_addrs[instance], false); ADC16_SetHardwareAverage(adc_addrs[instance], kADC16_HardwareAverageCount4); - ADC16_SetChannelMuxMode(adc_addrs[instance], - obj->adc & (1 << ADC_B_CHANNEL_SHIFT) ? kADC16_ChannelMuxB : kADC16_ChannelMuxA); - pinmap_pinout(pin, PinMap_ADC); } @@ -71,6 +68,9 @@ uint16_t analogin_read_u16(analogin_t *obj) { adc16_channel_config.enableDifferentialConversion = false; #endif + ADC16_SetChannelMuxMode(adc_addrs[instance], + obj->adc & (1 << ADC_B_CHANNEL_SHIFT) ? kADC16_ChannelMuxB : kADC16_ChannelMuxA); + /* * When in software trigger mode, each conversion would be launched once calling the "ADC16_ChannelConfigure()" * function, which works like writing a conversion command and executing it.