From 06d3a706f9fecd072c8040ae7e7b2c4b5fd71bc9 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/hal/esp32s3/include/hal/adc_ll.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/hal/esp32s3/include/hal/adc_ll.h b/components/hal/esp32s3/include/hal/adc_ll.h index b8b476bf9b3..a6d2b073e45 100644 --- a/components/hal/esp32s3/include/hal/adc_ll.h +++ b/components/hal/esp32s3/include/hal/adc_ll.h @@ -479,11 +479,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; }