mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #2146 from c1728p9/fix_ksdk2_adc
KSDK2 - set ADC mux before taking measurementpull/2222/head
commit
c6b9ace54d
|
@ -54,9 +54,6 @@ void analogin_init(analogin_t *obj, PinName pin) {
|
||||||
ADC16_Init(adc_addrs[instance], &adc16_config);
|
ADC16_Init(adc_addrs[instance], &adc16_config);
|
||||||
ADC16_EnableHardwareTrigger(adc_addrs[instance], false);
|
ADC16_EnableHardwareTrigger(adc_addrs[instance], false);
|
||||||
ADC16_SetHardwareAverage(adc_addrs[instance], kADC16_HardwareAverageCount4);
|
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);
|
pinmap_pinout(pin, PinMap_ADC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,6 +68,9 @@ uint16_t analogin_read_u16(analogin_t *obj) {
|
||||||
adc16_channel_config.enableDifferentialConversion = false;
|
adc16_channel_config.enableDifferentialConversion = false;
|
||||||
#endif
|
#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()"
|
* 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.
|
* function, which works like writing a conversion command and executing it.
|
||||||
|
|
Loading…
Reference in New Issue