文档章节

stm32f051 adc单次软件选择循环采样

青春无极限
 青春无极限
发布于 2016/03/31 17:59
字数 285
阅读 581
收藏 0
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)      在实际程序中可以用这个函数进行采样


© 著作权归作者所有

上一篇: iwwdg wwdg
下一篇: DAC
青春无极限
粉丝 2
博文 129
码字总数 71498
作品 0
卢湾
程序员
私信 提问
【STM32】ADC的基本原理、寄存器(超基础、详细版)

STM32F1xx官方资料: 《STM32中文参考手册V10》-第11章 模拟/数字转换(ADC) ADC的基本介绍 ADC的基本定义 Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连...

qq_38410730
2018/04/25
0
0
STM32F10X ADC多通道读取小教程(包含DMA)

前沿: 今天是雨水,哎可是我这还是大太阳!!! ADC采样,说白了就是采集电压,这个功能是极其重要的,通常的我们的都是对各种传感器采集电压,来进行判断,开环闭环控制,今天,向大家介绍...

qq_37389133
2018/02/19
0
0
hi3518e ADC 连续采样并获取电压值

对于hi3518e 主控芯片内部ADC采样的描述有位牛人描述的很到位。 https://blog.csdn.net/u013738338/article/details/78602986 那个大哥从datasheet出发深入浅出地将hi3518e ADC采样过程描述地...

huang_165
2018/05/25
0
0
am335x触摸屏驱动简要分析

TI文档 综述 AM335x触摸屏控制器支持如下四种工作模式: • 8路通用的ADC • 4路作为4线触摸屏连接,4路作为通用ADC • 5路作为5线触摸屏连接,3路作为通用ADC • 8路作为8线触摸屏连接 ADC采...

季风_落地窗
2016/03/17
1K
0
STM32 之 供电系统及内部参照电压(VREFINT)使用及改善ADC参考电压

版权声明:进步始于交流,收获源于分享!转载请保留原文出处,谢谢! https://blog.csdn.net/ZCShouCSDN/article/details/85158025 问题 今天在使用 STM32F407的ADC时遇到一个问题:ADC的参考...

ZCShouCSDN
2018/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

iOS Xcode升级包地址(感谢大神)

下载地址:DeviceSupport

_____1____
15分钟前
6
0
Qt编写自定义控件71-圆弧进度条

一、前言 现在web形式的图表框架非常流行,国产代表就是echart,本人用过几次,三个字屌爆了来形容,非常强大,而且易用性也非常棒,还是开源免费的,使用起来不要太爽,内置的各种图表和仪表...

飞扬青云
15分钟前
4
0
润乾报表与 ActiveReport JS 功能对比

简介 润乾报表是用于报表制作的大型企业级报表软件,核心特点在于开创性地提出了非线性报表数学模型,采用了革命性的多源关联分片、不规则分组、自由格间运算、行列对称等技术,使得复杂报表...

泡泡糖儿
26分钟前
5
0
【1015】LNMP架构二

【1015】LNMP架构二 三、PHP安装 PHP安装和LAMP安装PHP方法有差别,需要开启php-fpm服务 1、下载PHP7至/usr/local/src/ 切换目录:cd /usr/local/src 2、解压缩 tar -jxvf php-7.3.0.tar.gz...

飞翔的竹蜻蜓
今天
5
0
浅谈Visitor访问者模式

一、前言 什么叫访问,如果大家学过数据结构,对于这点就很清晰了,遍历就是访问的一般形式,单独读取一个元素进行相应的处理也叫作访问,读取到想要查看的内容+对其进行处理就叫作访问,那么...

青衣霓裳
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部