From d51f64d719c7129aef6439b7eecbb86e4bf17fe3 Mon Sep 17 00:00:00 2001 From: gaoxu Date: Sun, 7 Jun 2026 23:25:30 +0800 Subject: [PATCH] fix(adc): fix ADC monitor channel 8/9 error (Closes https://github.com/espressif/esp-idf/issues/17768) --- components/esp_hal_ana_conv/esp32s3/include/hal/adc_ll.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/esp_hal_ana_conv/esp32s3/include/hal/adc_ll.h b/components/esp_hal_ana_conv/esp32s3/include/hal/adc_ll.h index b936ef2dd98..25065bbe758 100644 --- a/components/esp_hal_ana_conv/esp32s3/include/hal/adc_ll.h +++ b/components/esp_hal_ana_conv/esp32s3/include/hal/adc_ll.h @@ -490,11 +490,11 @@ static inline void adc_ll_digi_filter_enable(adc_digi_iir_filter_t idx, adc_unit static inline void adc_ll_digi_monitor_set_thres(adc_monitor_id_t monitor_id, adc_unit_t adc_n, uint8_t channel, int32_t h_thresh, int32_t l_thresh) { if (monitor_id == ADC_MONITOR_0) { - APB_SARADC.thres0_ctrl.thres0_channel = (adc_n << 3) | (channel & 0x7); + APB_SARADC.thres0_ctrl.thres0_channel = (adc_n << 4) | (channel & 0xF); APB_SARADC.thres0_ctrl.thres0_high = h_thresh; APB_SARADC.thres0_ctrl.thres0_low = l_thresh; } else { // ADC_MONITOR_1 - APB_SARADC.thres1_ctrl.thres1_channel = (adc_n << 3) | (channel & 0x7); + APB_SARADC.thres1_ctrl.thres1_channel = (adc_n << 4) | (channel & 0xF); APB_SARADC.thres1_ctrl.thres1_high = h_thresh; APB_SARADC.thres1_ctrl.thres1_low = l_thresh; }