泰凌微8258学习日记-4:怎么使用ADC检测电压值

        ADC是模数转换的意思,就是把模拟信号转变为数字信号,其中A是模拟信号(Analog signal) D是数字信号(digital signal) 。模数转换也很简单,官方给的文档那里也有写,而且非常详细,我这里就简单放我自己的代码出来给大家看看吧,大家可以根据自己的硬件IO口设定。

light.h里面的定义
#define GPIO_VBAT_DETECT				GPIO_PB1
#define PC5_FUNC						AS_GPIO
#define PC5_INPUT_ENABLE				0
#define ADC_INPUT_PCHN					B1P    //corresponding  ADC_InputPchTypeDef in adc.h

main_light.c里面的定义
#define GPIO_VBAT_DETECT GPIO_PB1
#define PB7_FUNC		AS_GPIO
#define PB7 INPUT_ENABLE 	0
#define ADC_INPUT_PCHN 	B1P
gpio_set_output_en(GPIO_VBAT_DETECT,1);
gpio_write(GPIO_VBAT_DETECT,1);       //主要加到这里
#if 1
analog_write(anareg_adc_res_m,RES14|FLD_ADC_EN_DIFF_CHN_M);
adc_set_ain_chn_misc(ADC_INPUT_PCHN,GND);
#else
adc_set_ain_channel_differential_mode(ADC_MISC_CHN,ADC_INPUT_PCHN,GND);
adc_set_resolution(ADC_MISC_CHN,RES14);

#endif
定义获得ADC值的函数(直接调用即可)
unsigned int adc_sample_and_get_result(void);
static u32 t;
	t=adc_sample_and_get_result();

1f7da5e5d9f34ce08774ab34fe94df25.jpeg

33a5a46490d5400c8bc9749e58041909.jpeg

5a2630c125544961abbff8aca92cc329.jpeg

a59d3d01c7694c2586a4413b6f202fb0.jpeg

        官方给的文档非常详细,可以自己去看一下 。下期见,ヾ(•ω•`)o88!

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值