温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

stm32f051 adc单次软件选择循环采样的方法是什么

发布时间:2021-12-31 09:31:19 来源:亿速云 阅读:255 作者:iii 栏目:互联网科技

本篇内容主要讲解“stm32f051 adc单次软件选择循环采样的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“stm32f051 adc单次软件选择循环采样的方法是什么”吧!

void ADC1_Config(void)
{
  ADC_InitTypeDef     ADC_InitStruct;
  GPIO_InitTypeDef    GPIO_InitStruct;
	 
 /* Enable  GPIOA clock */ 
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);//使能GPIOA时钟
  /* ADC1 Periph clock enable */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);//使能ADC1时钟

  /* Configure PA.0 as analog input */
  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AN;
  GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL  ;
  GPIO_Init(GPIOA, &GPIO_InitStruct);		//设置PA0为模拟输入,PA0对应的是通道0
  
  ADC总共19个通道,16个外部通道,一个温度,一个电压,还有一个自己内部的Vbat通道;
	
  /* ADC1 DeInit */  
  ADC_DeInit(ADC1);  
  /* Initialize ADC structure */
  ADC_StructInit(&ADC_InitStruct);
  /* Configure the ADC1 in continous mode withe a resolutuion equal to 12 bits  */
  ADC_InitStruct.ADC_Resolution = ADC_Resolution_12b;  //12位的分辨率
  ADC_InitStruct.ADC_ContinuousConvMode = ENABLE; //循环采样,意思就是在整个程序可以被进行多次转换,单次转换的话整个程序生命周期只能被触发一次
  ADC_InitStruct.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;软件触发
  ADC_InitStruct.ADC_DataAlign = ADC_DataAlign_Right; 右对齐
  ADC_InitStruct.ADC_ScanDirection = ADC_ScanDirection_Upward; 
  ADC_Init(ADC1, &ADC_InitStruct); 
		
  ADC_ChannelConfig(ADC1, ADC_Channel_0, ADC_SampleTime_55_5Cycles); 设置采样通道,一定要把通道号和引脚的串口号对应起来
  
  /* ADC Calibration */
  ADC_GetCalibrationFactor(ADC1);   //adc校准
  ADC_Cmd(ADC1, ENABLE);     使能adc

  /* Wait the ADCEN falg */
  while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN)); 
  
  /* ADC1 regular Software Start Conv */ 
  ADC_StartOfConversion(ADC1);   开始ADC转换
}

ADCData[Num]=ADC_GetConversionValue(ADC1)      在实际程序中可以用这个函数进行采样

到此,相信大家对“stm32f051 adc单次软件选择循环采样的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI