Merge pull request #2146 from c1728p9/fix_ksdk2_adc

KSDK2 - set ADC mux before taking measurement
pull/2222/head
Martin Kojtal 2016-07-12 09:35:17 +01:00 committed by GitHub
commit c6b9ace54d
1 changed files with 3 additions and 3 deletions

View File

@ -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.