STM32ADC模数转换

Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。

典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。

STM32F10x ADC特点


12位逐次逼近型的模拟数字转换器。

最多带3个ADC控制器。

最多支持18个通道,可最多测量16个外部和2个内部信号源。

支持单次和连续转换模式。

转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。

通道0到通道n的自动扫描模式。

自动校准。

采样间隔可以按通道编程。

规则通道和注入通道均有外部触发选项。

转换结果支持左对齐或右对齐方式存储在16位数据寄存器。

ADC转换时间:最大转换速率1us。(最大转换速率为1MHz,在ADCCLK=14M,采样周期为1.5个ADC时钟下得到。)

ADC供电要求:2.4V~3.6V (通常情况下ADC引脚:0V~3.3V)

ADC输入范围:V(REF-) <= V(IN) <= V(REF+)

决定输入电压的引脚:VREF-, VREF+, VDDA, VSSA

VSSA和VREF-接地,把VREF+和VDDA接3.3V,得到ADC的输入电压范围为:0~3.3V


STM32F10x大容量芯片带3个ADC控制器


在这里插入图片描述

其中144脚芯片因为带PF脚,所以多5个通道,为21个外部通道。小于144脚芯片只有16个外部通道

STM32F10x系列芯片ADC通道和引脚对应关系


在这里插入图片描述


ADC引脚


在这里插入图片描述


ADC框图


在这里插入图片描述

STM32通道组


1.规则通道组:相当正常运行的程序。最多16个通道。规则通道和它的转换顺序在ADC_SQRx寄存器中选择,规则组转换的总数应写入ADC_SQR1寄存器的 L[3:0]中

2.注入通道组:相当于中断。最多4个通道。注入组和它的转换顺序在ADC_JSQR寄存器中选择。注入组里转化的总数应写入ADC_JSQR寄存器 L[1:0]中

在这里插入图片描述

STM32F1的ADC的各通道可以单次,连续,扫描或者间断模式执行

单次转化


在这里插入图片描述


连续转换


在这里插入图片描述


扫描模式


在这里插入图片描述

常用库函数


void ADC_Init(ADC_TypeDef* ADCx,ADC_InitTypeDef* ADC_InitStruct);

void ADC_DeInit(ADC_TypeDef* ADCx)

void ADC_Cmd(ADC_TypeDef* ADCx,FunctionalState NewState);

void ADC_ITConfig(ADC_TypeDef* ADCx,uint16_t ADC_IT,FunctionalState NewState);

void ADC_SoftwareStateConvCmd(ADC_TypeDef* ADCx,FunctionalState NewState);

void ADC_RegularChannelConfig(ADC_TypeDef*ADCx,uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime);

uint16_t ADC_GetConversionValue(ADC_TypeDef*ADCx);

void ADC_ResetCalibration(ADC_TypeDef* ADCx);

FlagStatus ADC_GetResetCalibrationStatus(ADC_TypeDef* ADCx);

void ADC_StartCalibration(ADC_TypeDef* ADCx);

FlagStatus ADC_GetCalibrationStatus(ADC_TypeDef* ADCx);


ADC初始化函数ADC_Init


void ADC_Init(ADC_TypeDef* ADCx,ADC_InitTypeDef* ADC_InitStruct);

typedef struct

{

uint32_t ADC_Mode;//ADC模式:配置ADC_CR1寄存器的位[19:16]:DUALMODE[3:0]位

FunctionalState ADC _ScanConvMode;//是否使用扫描模式。ADC_CR1位8:SCAN位

FunctionalState ADC_ContiunousConvMode;//单次转换OR连续转换:ADC_CR2的位1:CONT

uint32_t ADC_ExtermalTripConv;//触发方式:ADC_CR2的位[19:17]:EXTSEL[2:0]

uint32_t ADC_DataAlign;//对齐模式:左对齐还是右对齐:ADC_CR2的位11:ALIGN

uint8_t ADC_NbrOfChannel;//规则通道序列长度:ADC_SQR1的位[23:20]:L[3:0]

}ADC_InitTypeDef;


《MySql面试专题》

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

《MySql性能优化的21个最佳实践》

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

《MySQL高级知识笔记》

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

文中展示的资料包括:**《MySql思维导图》《MySql核心笔记》《MySql调优笔记》《MySql面试专题》《MySql性能优化的21个最佳实践》《MySq高级知识笔记》**如下图

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

关注我,点赞本文给更多有需要的人
[外链图片转存中…(img-WiicvENY-1721834603341)]

[外链图片转存中…(img-0rFj6P6I-1721834603342)]

[外链图片转存中…(img-DpG14l8O-1721834603342)]

[外链图片转存中…(img-nIZVjnjV-1721834603342)]

文中展示的资料包括:**《MySql思维导图》《MySql核心笔记》《MySql调优笔记》《MySql面试专题》《MySql性能优化的21个最佳实践》《MySq高级知识笔记》**如下图

[外链图片转存中…(img-rfzqpNHx-1721834603342)]

关注我,点赞本文给更多有需要的人

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32 ADC模数转换实验中,可能会遇到以下问题: 1. ADC采样值不正确 如果ADC采样值不正确,可能是因为ADC参数配置不正确或者采样时序不正确导致的。需要确认以下几点: - 确认ADC参数配置正确,包括采样时间、采样通道、采样分辨率等参数 - 确认ADC时钟已经使能 - 确认ADC采样时序正确,包括采样开始时间、采样保持时间和转换时间等参数 2. ADC采样速率不稳定或者出现噪声 如果ADC采样速率不稳定或者出现噪声,可能是因为ADC参考电压不稳定或者ADC输入信号不稳定导致的。需要确认以下几点: - 确认ADC参考电压稳定,可以使用稳压器等设备来提供稳定的参考电压 - 确认ADC输入信号稳定,可以使用滤波电路等方法来滤除噪声和干扰信号 解决方法: 在使用STM32 ADC模数转换时,可以采用以下步骤进行配置和编程: 1. 配置ADC参数 使用ADC_Init函数对ADC进行配置,设置相应的采样时间、采样通道、采样分辨率等参数。 2. 开启ADC采样 在程序中开启ADC采样,使得程序能够读取ADC转换结果。 3. 编写中断服务函数 根据需要编写中断服务函数,并在函数中进行相应的处理。需要注意的是,中断服务函数应该尽可能的简单,避免长时间占用CPU资源,否则可能会影响其他重要任务的执行。 4. 烧录程序 将程序烧录到STM32芯片中,通过读取ADC转换结果,观察ADC采样值的情况和中断服务函数的执行情况。 需要注意的是,在编写程序时需要遵循一些规范和最佳实践,如使用宏定义等方法来定义常量和变量,避免使用硬编码方式;使用滤波器等技术来提高ADC采样值的精度和稳定性等。同时,建议使用示波器等工具来观察ADC采样值的情况和中断服务函数的执行情况,以便进行调试和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值