/* * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2024-05-11 LJ the first version */ #ifndef APPLICATIONS_ADC_ADC_H_ #define APPLICATIONS_ADC_ADC_H_ #include #include #define ADC1_CHANNEL_0 0 /* ADC 通道 */ #define ADC2_CHANNEL_4 4 /* ADC 通道 */ #define ADC3_CHANNEL_10 10 /* ADC 通道 */ #define ADC3_CHANNEL_11 11 /* ADC 通道 */ #define REFER_VOLTAGE 330 /* 参考电压 3.3V,数据精度乘以100保留2位小数 */ #define CONVERT_BITS (1 << 12) /* 转换位数为12位 */ typedef struct { rt_uint16_t ADC1_0_vol; // 读取电压值 rt_uint16_t ADC2_4_vol; // 读取电压值 rt_uint16_t ADC3_10_vol; // 读取电压值 rt_uint16_t ADC3_11_vol; // 读取电压值 rt_uint16_t ADC1_0_value; // 读取电压值 rt_uint16_t ADC2_4_value; // 读取电压值 rt_uint16_t ADC3_10_value; // 读取电压值 rt_uint16_t ADC3_11_value; // 读取电压值 rt_uint16_t ADC1_0_h_vol; // 0-10V rt_uint16_t ADC2_4_h_vol; // rt_uint16_t ADC1_0_Current; // 4-20ma rt_uint16_t ADC2_4_Current; // rt_uint8_t ADC1_0_ZL_H; // 张力高位 rt_uint8_t ADC2_4_ZL_H; // rt_uint8_t ADC1_0_ZL_L; // 张力低位 rt_uint8_t ADC2_4_ZL_L; // rt_uint8_t log; rt_uint8_t ADC1_mode; //ADC1模式 1:0-10V 2:4-20ma 3:3.3v rt_uint8_t ADC2_mode;//ADC2模式 } ADC_Data; // ADC状态 //ADC初始化函数 rt_uint8_t adc_init(); //ADC读取数据 void adc_read(); //获取3V3的值ADC rt_uint16_t get_ADC3_10_vol(); //获取3V3的值ADC rt_uint16_t get_ADC3_11_vol(); /** * 获取0-10vADC值 * @return */ rt_uint16_t get_ADC1_0_h_vol(); /** * 获取4-10ma电流值 * @return */ rt_uint16_t get_ADC1_0_Current(); /** * 获取0-10vADC值 * @return */ rt_uint16_t get_ADC2_4_h_vol(); /** * 获取4-10ma电流值 * @return */ rt_uint16_t get_ADC2_4_Current(); /** * 获取ADC1张力值 * @return */ rt_uint8_t get_ADC1_0_H_ZL(); rt_uint8_t get_ADC1_0_L_ZL(); /** * 获取ADC2张力值 * @return */ rt_uint8_t get_ADC2_4_H_ZL(); rt_uint8_t get_ADC2_4_L_ZL(); //ADC log 功能开启 void set_ADC_log(rt_uint8_t log); //设置ADC1的模式0:0-10V 1:4-20ma void set_ADC1_mode(rt_uint8_t mode); //设置ADC2的模式1:0-10V 2:4-20ma void set_ADC2_mode(rt_uint8_t mode); //获取ADC1的模式1:0-10V 2:4-20ma rt_uint8_t get_ADC1_mode(); //获取ADC2的模式1:0-10V 2:4-20ma rt_uint8_t get_ADC2_mode(); #endif /* APPLICATIONS_ADC_ADC_H_ */