电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区
论坛
开发板专区
【STM32F412-DISCO 开发板试用体验】+ADC的介绍和配置
【STM32F412-DISCO 开发板试用体验】+ADC的介绍和配置
寄存器
开发
测量
结构体
转换器
黄莨元
LV5工程师
| 2017-05-04 15:54:23
浏览量 1826
回复:0
发表新帖
今天先来简单介绍一下STM32的ADC吧。
一、
ADC
简介
12
位
ADC
是逐次趋近型模数转换器。它具有多达
19
个复用通道,可测量来自
16
个外部源、两个内部源和
VBAT
通道的信号。这些通道的
A/D
转换可在单次、连续、扫描或不连续采样模式下进行。
ADC
的结果存储在一个左对齐或右对齐的
16
位数据寄存器中。
二、
ADC
主要特性
三、
转换模式
单次转换模式:在单次转换模式下,
ADC
执行一次转换。
连续转换模式:在连续转换模式下,
ADC
结束一个转换后立即启动一个新的转换。
扫描模式:此模式用于扫描一组模拟通道。
注入通道管理模式
不连续采样模式
四、
采样时间的设置
ADC
会在数个
ADCCLK
周期内对输入电压进行采样,可使用
ADC_SMPR1
和
ADC_SMPR2
寄存器中的
SMP
位修改周期数。每个通道均可以使用不同的采样时间进行采样。
总转换时间的计算公式如下:
T conv =
采样时间
+ 12
个周期
五、
接下来看几个重要的结构体定义
,
使用
ADC
转换的时候需要对其进行配置
(
1
)
ADC_HandleTypeDef
结构体定义:
结构体的重要成员介绍:
Instance
:
ADC_TypeDef
结构体指针类型,指向
ADC
寄存器的基地址,可取
ADCx
。
Init
:
ADC_InitTypeDef
结构体类型,该结构体的成员主要是时钟的配置变量,分辨率等。
(
2
)
ADC_InitTypeDef
结构体定义:
结构体的重要成员介绍:
ClockPrescaler
:
ADC
的时钟分频系数,可取
2
、
4
、
6
、
8
分频
Resolution
:
ADC
的分辨率
DataAlign
:转换后的结果保存方式,右对齐还是左对齐
ScanConvMode
:扫描模式配置
ContinuousConvMode
:转换模式的配置,可配置为单次或连续
DMAContinuousRequests
:
DMA
请求
NbrOfConversion
:规则转换通道的个数
ExternalTrigConv
:外部触发的方式
ExternalTrigConvEdge
:外部触发边沿
(
3
)
ADC_ChannelConfTypeDef
结构体定义
:
重要成员介绍:
Channel
:转换的通道
Rank
:转换的第几个序列,取值为
1~16
SamplingTime
:
ADC
的采样时间
六、
函数配置
首先看看
ADC
的通道关系
在这里我用到了
ADC1
进行模拟信号转换,使用了通道
10
,函数配置如下
ADC的基本配置就先介绍到这里了,最后,感谢云汉社区和ST给予了我这次使用的机会。:D
今天先来简单介绍一下STM32的ADC吧。
一、
ADC
简介
12
位
ADC
是逐次趋近型模数转换器。它具有多达
19
个复用通道,可测量来自
16
个外部源、两个内部源和
VBAT
通道的信号。这些通道的
A/D
转换可在单次、连续、扫描或不连续采样模式下进行。
ADC
的结果存储在一个左对齐或右对齐的
16
位数据寄存器中。
二、
ADC
主要特性
三、
转换模式
单次转换模式:在单次转换模式下,
ADC
执行一次转换。
连续转换模式:在连续转换模式下,
ADC
结束一个转换后立即启动一个新的转换。
扫描模式:此模式用于扫描一组模拟通道。
注入通道管理模式
不连续采样模式
四、
采样时间的设置
ADC
会在数个
ADCCLK
周期内对输入电压进行采样,可使用
ADC_SMPR1
和
ADC_SMPR2
寄存器中的
SMP
位修改周期数。每个通道均可以使用不同的采样时间进行采样。
总转换时间的计算公式如下:
T conv =
采样时间
+ 12
个周期
五、
接下来看几个重要的结构体定义
,
使用
ADC
转换的时候需要对其进行配置
(
1
)
ADC_HandleTypeDef
结构体定义:
结构体的重要成员介绍:
Instance
:
ADC_TypeDef
结构体指针类型,指向
ADC
寄存器的基地址,可取
ADCx
。
Init
:
ADC_InitTypeDef
结构体类型,该结构体的成员主要是时钟的配置变量,分辨率等。
(
2
)
ADC_InitTypeDef
结构体定义:
结构体的重要成员介绍:
ClockPrescaler
:
ADC
的时钟分频系数,可取
2
、
4
、
6
、
8
分频
Resolution
:
ADC
的分辨率
DataAlign
:转换后的结果保存方式,右对齐还是左对齐
ScanConvMode
:扫描模式配置
ContinuousConvMode
:转换模式的配置,可配置为单次或连续
DMAContinuousRequests
:
DMA
请求
NbrOfConversion
:规则转换通道的个数
ExternalTrigConv
:外部触发的方式
ExternalTrigConvEdge
:外部触发边沿
(
3
)
ADC_ChannelConfTypeDef
结构体定义
:
重要成员介绍:
Channel
:转换的通道
Rank
:转换的第几个序列,取值为
1~16
SamplingTime
:
ADC
的采样时间
六、
函数配置
首先看看
ADC
的通道关系
在这里我用到了
ADC1
进行模拟信号转换,使用了通道
10
,函数配置如下
ADC的基本配置就先介绍到这里了,最后,感谢云汉社区和ST给予了我这次使用的机会。:D
0
收藏
举报
分享
×
微信分享
扫描二维码分享
qq分享
QQ空间分享
微博分享
我来回复
登录后可评论,请
登录
或
注册
所有回答
数量:
0
×
举报
举报人:
被举报人:黄莨元
*
类型:
请选择类型
问题质量差
垃圾广告信息
偏离社区主题
违规内容
不友善内容
与社区已有问题重复
以上选项都不是
*
详细原因:
取消
提交
x
收藏成功!点击
我的收藏
查看收藏的全部帖子