STM32——ADC实验(单通道串口打印)

  • ADC介绍

12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。 ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。

  • STM32_ADC特征

● 12位分辨率
● 转换结束、注入转换结束和发生模拟看门狗事件时产生中断
● 单次和连续转换模式
● 从通道0到通道n的自动扫描模式
● 自校准
● 带内嵌数据一致性的数据对齐
● 采样间隔可以按通道分别编程
● 规则转换和注入转换均有外部触发选项
● 间断模式
● 双重模式(带2个或以上ADC的器件)
● ADC转换时间:
─ STM32F103xx增强型产品:时钟为56MHz时为1μs(时钟为72MHz为1.17μs)
─ STM32F101xx基本型产品:时钟为28MHz时为1μs(时钟为36MHz为1.55μs)
─ STM32F102xxUSB型产品:时钟为48MHz时为1.2μs
─ STM32F105xx和STM32F107xx产品:时钟为56MHz时为1μs(时钟为72MHz为1.17μs)
● ADC供电要求: 2.4V到3.6V
● ADC输入范围: VREF- ≤ VIN ≤ VREF+
● 规则通道转换期间有DMA请求产生。

  • ADC 框图

  • ADC模式

  1. ADC_Mode_Independent                       独立模式
  2. ADC_Mode_RegInjecSimult                   混合的同步规则+注入同步模式
  3. ADC_Mode_RegSimult_AlterTrig           混合的同步规则+交替触发模式
  4. ADC_Mode_InjecSimult_FastInterl        混合同步注入+快速交叉模式 
  5. ADC_Mode_InjecSimult_SlowInterl        混合同步注入+慢速交叉模式 
  6. ADC_Mode_InjecSimult                          注入同步模式
  7. ADC_Mode_RegSimult                           规则同步模式
  8. ADC_Mode_FastInterl                            快速交叉模式
  9. ADC_Mode_SlowInterl                           慢速交叉模式
  10. ADC_Mode_AlterTrig                              交替触发模式
  • 配置过程

开启PA口时钟和ADC1时钟,设置PA1为模拟输入。GPIO_Init();  APB2PeriphClockCmd();

复位ADC1,同时设置ADC1分频因子。RCC_ADCCLKConfig(RCC_PCLK2_Div6); ADC_DeInit(ADC1);

初始化ADC1参数,设置ADC1的工作模式以及规则序列的相关信息。

void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct)

使能ADC并校准。ADC_Cmd(ADC1, ENABLE);

⑤ 配置规则通道参数:ADC_RegularChannelConfig();

⑥开启软件转换:ADC_SoftwareStartConvCmd(ADC1);

⑦等待转换完成,读取ADC值。ADC_GetConversionValue(ADC1);

  • 附录

详细配置见stm32参考手册

代码:https://github.com/kks1234/STM32/tree/master/17.ADC%E5%8D%95%E9%80%9A%E9%81%93

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值