文档章节

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

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


© 著作权归作者所有

共有 人打赏支持
青春无极限
粉丝 0
博文 107
码字总数 63829
作品 0
卢湾
程序员
【STM32】ADC的基本原理、寄存器(超基础、详细版)

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

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

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

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

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

huang_165
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
数字示波器采样频率 带宽 存储深度的理解

前沿:带宽、采样率、存储深度是DSO的三大关键指标 一、采样率 1、概念的提出 计算机只能处理离散的数字信号。模拟电压信号进入示波器后面临的首要问题就是连续信号的数字化(AD转化)问题。...

jason5084
05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

React 服务器渲染原理解析与实践

网盘下载地址 React 服务器渲染原理解析与实践 本套课程,讲解了React中SSR技术的整个搭建思路及流程,完整的从原理上讲清楚了SSR的概念,重点在于讲解编写SSR框架遇到的各种知识点,以及细节...

qq__2304636824
25分钟前
0
0
sourcetree 离线免注册登录安装教程

Sourcetree是一个优秀的git可视化管理工具,深受开发者喜爱Sourcetree官网,但是在安装时需要谷歌账户登录,需要翻qiang才可以,此一点一直被人们所诟病。今天本教程就为大家提供离线免登陆安...

QQZZFT
53分钟前
1
0
使用 PostgreSQL 解决一个实际的统计分析问题

使用 PostgreSQL 解决一个实际的统计分析问题作者:老农民(刘启华)Email: 46715422@qq.com 之前有个朋友扔给我一个奇葩需求,他们公司之前做了一批问卷调查,全部都是统一格式的excel...

新疆老农民
56分钟前
7
0
TypeScript基础入门之高级类型的映射类型

转发 TypeScript基础入门之高级类型的映射类型 高级类型 映射类型 一个常见的任务是将一个已知的类型每个属性都变为可选的: interface PersonPartial {    name?: string;    age?...

durban
今天
1
0
Dubbo源码分析(6):Dubbo内核实现之基于SPI思想Dubbo内核实现

SPI接口定义 定义了@SPI注解 package com.alibaba.dubbo.common.extension; import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.an......

郑加威
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部