1 /* 2 * Copyright (c) 2006-2023, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2023-06-04 Chushicheng first version 9 */ 10 11 #ifndef __DRV_ADC_H__ 12 #define __DRV_ADC_H__ 13 14 #include <rtdevice.h> 15 #ifdef BSP_USING_ADC 16 17 /* pico adc dirver class */ 18 struct pico_adc 19 { 20 struct rt_adc_ops ops; 21 struct rt_adc_device pico_adc_device; 22 }; 23 24 /* pico config class */ 25 struct pico_adc_config 26 { 27 rt_uint8_t pin; 28 rt_uint8_t channel; 29 const char *device_name; 30 }; 31 32 #ifdef BSP_USING_ADC0 33 #define ADC0_CONFIG \ 34 { \ 35 .pin = 26, \ 36 .channel = 0, \ 37 .device_name = "adc0", \ 38 } 39 #endif 40 #ifdef BSP_USING_ADC1 41 #define ADC1_CONFIG \ 42 { \ 43 .pin = 27, \ 44 .channel = 1, \ 45 .device_name = "adc1", \ 46 } 47 #endif 48 #ifdef BSP_USING_ADC2 49 #define ADC2_CONFIG \ 50 { \ 51 .pin = 28, \ 52 .channel = 2, \ 53 .device_name = "adc2", \ 54 } 55 #endif 56 57 int rt_hw_adc_init(void); 58 59 #endif /* BSP_USING_ADC */ 60 #endif /* __DRV_ADC_H__ */ 61