文档章节

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

青春无极限
 青春无极限
发布于 2016/03/31 17:59
字数 285
阅读 108
收藏 0
点赞 1
评论 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
博文 104
码字总数 59921
作品 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
前洛克希德马丁高工谈宽带RF接收机架构

外差接收机作为接收机方案的标准选择已有数十年历史。近年来,模数转换器 (ADC) 采样速率的迅速提高、嵌入式数字处理的采纳以及匹配通道的集成,为接收机架构提供了几年前尚被认为是不切实际...

dp29sym41zygndvf
2017/12/31
0
0
利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (4)----(ADC电压采集以及自适应滤波实验)

本ADC实验通过1个电压采集来演示STM32的ADC功能,以及如何在simulink平台上面完成这些功能的具体操作,并利用simulink强大的信号处理工具相,将采集回来的电压信号进行自适应滤波,告别一些传...

weixin_36967309
05/12
0
0
MSP430学习笔记10-ADC采集1602显示

同样是开发板中的例程,对关键的地方做了说明,程序如下: /* 程序注意点: 首先可以选择是否开启内部参考电压还是使用外部参考电压 每个通道可以独立选择参考电压 如果连接了外部参考电压应...

文艺小青年
2017/06/01
0
0
[nRF51822] 9、基础实验代码解析大全 · 实验12 - ADC

一、本实验ADC 配置 分辨率:10 位。 输入通道:5,即使用输入通道AIN5 检测电位器的电压。 ADC 基准电压:1.2V。 二、NRF51822 ADC 管脚分布   NRF51822 的ADC 共有8 个输入通道,对应的管...

史迪奇2号
01/06
0
0
TLC549ADC驱动的FPGA实现

1.引言与相关资料 TLC549是一款8位串行ADC,其采样速率不高,精度也只有8位,但不需要对其进行任何控制就可以自动的进行ADC的工作,需要做的只是在适当的时机按串行方式读出8位AD值就可以。 ...

shen_you
01/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部