基于stm32单片机简单4步学会adc模块

第一模块 ADC

ADC的知识点很多,我这里主要讲一下如何在stm32中傻瓜式的使用ADC函数,一般情况下只需要学会这3个结构体的调用即可第一个 adc_init();对函数adc初始化 ,第二个Get_Adc(u8 ch)获取adc的值,第三个取平均值Get_Adc_Average(u8 ch,u8 times),ps:能在主函数对这3个函数会调用,会改(学会这些ad模块就基本上ok了)。

下面给大家源代码分析

1.adc的初始化

void adc_init(); 

void	Adc_Init(void)

{
   	
    ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |

 u16 get_adc(u8 ch); 

 u16get_adc_average(u8 ch,u8 times)

RCC_APB2Periph_ADC1	, ENABLE );	//使能 ADC1 通道时钟

RCC_ADCCLKConfig(RCC_PCLK2_Div6);	//设置 ADC 分频因子 6

//72M/6=12,ADC 最大时间不能超过 14M

//PA1 作为模拟通道输入引脚

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
    //模拟输入
GPIO_Init(GPIOA, &GPIO_InitStructure);	//初始化 GPIOA.1

 

ADC_DeInit(ADC1);	//复位 ADC1,将外设 ADC1 的全部寄存器重设为缺省值
    ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
    //ADC 独立模式
    ADC_InitStructure.ADC_ScanConvMode = DISABLE;	   
    //单通道模式
    ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //单次转换模式
    ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;<
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值