diff options
| author | tianshnegming <[email protected]> | 2024-03-24 02:43:09 +0800 |
|---|---|---|
| committer | Meco Man <[email protected]> | 2024-04-16 22:29:44 -0400 |
| commit | d987151bb895861ca25a464c16a2e5e5ad1ca7c1 (patch) | |
| tree | fbb59554e14e66e3e264c0a4aa0c516881abd1f5 | |
| parent | 3828a9033c752ef75f779676878d7dee61b38914 (diff) | |
[bsp][at32]修复由于ADC转换完成标志未清除导致ADC多通道读取时概率性地通道错位
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_adc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/bsp/at32/libraries/rt_drivers/drv_adc.c b/bsp/at32/libraries/rt_drivers/drv_adc.c index 73a9c1184c..1a67c490e8 100644 --- a/bsp/at32/libraries/rt_drivers/drv_adc.c +++ b/bsp/at32/libraries/rt_drivers/drv_adc.c @@ -135,8 +135,10 @@ static rt_err_t at32_get_adc_value(struct rt_adc_device *device, rt_int8_t chann /* adc_x regular channels configuration */ #if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) || \ defined (SOC_SERIES_AT32F423) + adc_flag_clear(adc_x, ADC_OCCE_FLAG); adc_ordinary_channel_set(adc_x, (adc_channel_select_type)channel, 1, ADC_SAMPLETIME_247_5); #else + adc_flag_clear(adc_x, ADC_CCE_FLAG); adc_ordinary_channel_set(adc_x, (adc_channel_select_type)channel, 1, ADC_SAMPLETIME_239_5); #endif |
