STM32F0库函数初始化系列:ADC

static void ADC_Config(void)
{
  ADC_InitTypeDef     ADC_InitStructure;

  /* ADCs DeInit */
  //ADC_DeInit(ADC1);

  /* Initialize ADC structure */
  ADC_StructInit(&ADC_InitStructure);

  /* Configure the ADC1 in continuous mode with a resolution equal to 12 bits  */
  ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
  ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;
  ADC_Init(ADC1, &ADC_InitStructure); 

  /* Convert the ADC1 Channel 9 with 239.5 Cycles as sampling time */
  ADC_ChannelConfig(ADC1, ADC_Channel_9 , ADC_SampleTime_239_5Cycles);
  /* ADC Calibration */
  ADC_GetCalibrationFactor(ADC1);

  /* ADC DMA request in circular mode */
  //ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);

  /* Enable ADC_DMA */
  //ADC_DMACmd(ADC1, ENABLE);  

  /* Enable the ADC peripheral */
  ADC_Cmd(ADC1, ENABLE);     

  /* Wait the ADRDY flag */
  while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY)); 

  /* ADC1 regular Software Start Conv */
  ADC_StartOfConversion(ADC1);

}

 while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
      _adc=ADC_GetConversionValue(ADC1);

原文地址:https://www.cnblogs.com/penuel/p/11265193.html

时间: 2024-08-30 16:51:26

STM32F0库函数初始化系列:ADC的相关文章

STM32F0库函数初始化系列:PWM输出

void TIM1_Configuration(void) { TIM_TimeBaseInitTypeDef TIM_Time1BaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); /* Time 定时基础设置*/ TIM_Time1BaseStructure.TIM_Prescaler = 0; TIM_Time1BaseStruct

STM32F4库函数初始化系列:串口DMA接收

1 u8 _data1[4]; 2 void Configuration(void) 3 { 4 USART_InitTypeDef USART_InitStructure; 5 DMA_InitTypeDef DMA_InitStructure; 6 GPIO_InitTypeDef GPIO_InitStructure; 7 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); 8 //TX 9 GPIO_InitStructure.G

个人学习C++过程中对const的总结:初始化系列之用字面值常量与其他类型的值初始化的区别(一)

const这个系列博大精深,在学习过程一点一点积累记录.但是由于随笔在发布之后不能修改,有了新的想法之后不能再在原随笔上修改,只好用一个个系列来慢慢积累. 哈哈,在发布之后发现是可以继续编辑的,好吧,不管了,这种方式挺好. 正文: 昨晚接触到一个算法题目,回文字符串,在网上找了某段代码,但是发现有点问题,原形大概如下: .... const int len=mystr.size(); //mystr是string的一个实例,其实我挺奇怪这里为什么用int而不是string::size_type或

asm335x系列adc和触摸屏驱动(转)

An analog-to-digital converter (abbreviated ADC) is a device that uses sampling to convert a continuous quantity to a discrete time representation in digital form. The TSC_ADC_SS (Touchscreen_ADC_subsystem) is an 8 channel general purpose ADC, with o

STM32F407VG (三)ADC

12位ADC是一种逐次逼近型模拟数字转换器.它有多达19个通道,可测量16个外部和2个内部信号源和VBAT通道.各通道的A/D转换可以单次.连续.扫描或间断模式执行.ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中.模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值. 1.ADC通用初始化参数 /* ADC Common 配置 ----------------------------------------------------------*/ //工作在独立模式或多

【ARM】arm系列知识框架

[ARM编程模型] 硬件: 电路原理图 软件: 体系结构, 指令集, 寄存器组 [ARM编程技术] 汇编/C语言 编译, 链接, 烧写和调试 windows: MDK linux  : gcc [ARM接口编程] 电路原理图 datasheet ------> 裸机程序(不带操作系统,直接操作硬件) 中断技术 初始化程序 [ ARM基础知识] 1. 冯·诺依曼结构特点:      采用二进制表示数据和程序      事先存储程序      利用控制流来驱动程序      五大部件  2. CPU

半行代码实现生成系列数(1、2、3 ... N)

用法 @{sn:键名[=int]} 功能:每个键名将生成1.2.3 -- n的系列数值,[=int]可选,用于初始化系列数,未初始化时返回空 样例: @{sn:test_id},返回空(未初始化) @{sn:test_id=0},初始化test_id系列值,返回1 @{sn:test_id},返回2 试试吧 轻松互联网开发平台(Easy Do IT)资源下载 平台及最新开发手册免费下载:http://download.csdn.net/detail/tx18/8464425 开发实例:轻开B2C

一起talk C栗子吧(第七十回:C语言实例--字符串初始化函数)

各位看官们,大家好,上一回中咱们说的是字符串查找的例子,这一回咱们说的例子是:字符串初始化函数.闲话休提,言归正转.让我们一起talk C栗子吧! 在定义局部变量的时候,我们需要对字符串进行初始化操作.当然了,手动给字符串初始化是可以的,不过标准库给我们提供了专门的初始化函数:memset.下面我们来介绍它的用法. memset函数用法 memset函数的原型:void *memset(void *s, int c, size_t count) memset函数的用法:在s指向的字符串中,把前c

ST的MCU系列

一 STM32F1(M3)系列: 超值型系列STM32F100-  24 MHz最高主频 带马达控制和CEC功能 基本型系列STM32F101 - 36 MHz最高主频,具有高达1M字节的片上闪存 USB基本型系列STM32F102 - 48 MHz最高主频,带全速USB模块 增强型系列STM32F103  - 72 MHz最高主频,具有高达1M字节的片上闪存,兼具马达控制.USB和CAN模块 互联型系列STM32F105/107 - 72 MHz最高主频,具有以太网MAC.CAN 以及USB