From e328ebef585cea2351b37117b2d5ac4978ecd3c0 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期二, 11 二月 2025 14:57:23 +0800
Subject: [PATCH] 1111111

---
 keil/include/drivers/mk_adc.c |   32 ++++++++++++++------------------
 1 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/keil/include/drivers/mk_adc.c b/keil/include/drivers/mk_adc.c
index 9763eb5..4b6fe42 100644
--- a/keil/include/drivers/mk_adc.c
+++ b/keil/include/drivers/mk_adc.c
@@ -85,7 +85,7 @@
 
     /* If the sampling rate setting exceeds the conversion rate threshold, the maximum sampling rate is used by default */
     uint32_t rate = (adc_clk == ADC_CLK_LOW_FREQ) ? ((config->rate < ADC_CLK_L_MAX_SAMPLE_RATE) ? config->rate : ADC_CLK_L_MAX_SAMPLE_RATE)
-                        : (config->rate < ADC_CLK_H_MAX_SAMPLE_RATE ? config->rate : ADC_CLK_H_MAX_SAMPLE_RATE);
+                                                  : (config->rate < ADC_CLK_H_MAX_SAMPLE_RATE ? config->rate : ADC_CLK_H_MAX_SAMPLE_RATE);
 
     /* If the sample rate is set to 0, no frequency division */
     uint16_t div = (uint16_t)((adc_clk / ((rate == 0) ? 1 : rate)) - 1);
@@ -104,6 +104,7 @@
         /* If the external reference voltage driving capability is insufficient */
         /* It is recommended to enable this configuration */
         // val |= (9 << 1) | (1 << 4);
+        val |= (1 << 9) | (7 << 5) | (1 << 4);
     }
     REG_WRITE(0x4000062C, val);
 
@@ -173,17 +174,17 @@
     // update state
     switch (adc_handle.state)
     {
-    case ADC_STATE_READY:
-        adc_handle.state = ADC_STATE_BUSY;
-        break;
-    case ADC_STATE_BUSY:
-        int_unlock(lock);
-        return DRV_BUSY;
-    case ADC_STATE_RESET:
-    case ADC_STATE_TIMEOUT:
-    case ADC_STATE_ERROR:
-        int_unlock(lock);
-        return DRV_ERROR;
+        case ADC_STATE_READY:
+            adc_handle.state = ADC_STATE_BUSY;
+            break;
+        case ADC_STATE_BUSY:
+            int_unlock(lock);
+            return DRV_BUSY;
+        case ADC_STATE_RESET:
+        case ADC_STATE_TIMEOUT:
+        case ADC_STATE_ERROR:
+            int_unlock(lock);
+            return DRV_ERROR;
     }
 
     adc_handle.data = data;
@@ -405,17 +406,12 @@
     adc_close();
 }
 
-static void adc_continue_callback(void *data, uint32_t number)
-{
-
-    LOG_INFO(TRACE_MODULE_APP, "Chip adc callback %d degree\r\n", data);
-}
 int16_t battery_monitor_get(void)
 {
 #define NUM_SAMPLES (3)
 
     uint32_t sample[NUM_SAMPLES];
-    adc_get(&sample[0], NUM_SAMPLES, adc_continue_callback);
+    adc_get(&sample[0], NUM_SAMPLES, NULL);
 
     int32_t sum = 0;
     for (int i = 0; i < NUM_SAMPLES; i++)

--
Gitblit v1.9.3