当前位置: 首页 > news >正文

单通道ADC采集实验(单次非扫描软件触发)

实验简要(F1为例)

1、功能描述 

 通过ADC1通道1(PA1)采集电位器的电压,并显示ADC转换的数字量及换算后的电压值

2、确定最小刻度

VREF+ = 3.3V  0V≤VIN≤3.3V  最小刻度 = 3.3 / 4096  

F4/F7/H7系列还需要考虑ADC分辨率

3、确定转换时间

采样时间239.5个ADC时钟周期为例,可以得到转换时间为21us

4、模式组合

单次转换模式、不使用扫描模式

ADC寄存器介绍(F1为例)

ADC控制寄存器 1(ADC_CR1)

ADC控制寄存器 2(ADC_CR2)

ADC控制寄存器 2(ADC_CR2)

ADC采样时间寄存器1(ADC_SMPR1)

ADC采样时间寄存器2(ADC_SMPR2)

ADC规则序列寄存器 1(ADC_SQR1)

ADC规则序列寄存器 2(ADC_SQR2)



ADC规则序列寄存器 3(ADC_SQR3)

ADC规则数据寄存器 (ADC_DR)

单通道ADC采集实验配置步骤

相关HAL库函数介绍

函数

主要寄存器

主要功能

HAL_ADC_Init()

CR1CR2

配置ADC工作参数

HAL_ADCEx_Calibration_Start()

CR2

ADC校准

HAL_ADC_MspInit()

存放NVICCLOCKGPIO初始化代码

HAL_RCCEx_PeriphCLKConfig()

RCC_CFGR

设置扩展外设时钟,如:ADCRTC

HAL_ADC_ConfigChannel()

SQRxSMPRx

配置ADC相应通道的相关参数

HAL_ADC_Start()

CR2

启动A/D转换

HAL_ADC_PollForConversion()

SR

等待规则通道转换完成

HAL_ADC_GetValue()

DR

获取规则通道A/D转换结果

关键结构体介绍(F1为例)

typedef struct 
{ 
ADC_TypeDef *Instance; 			    /* ADC 寄存器基地址 */ ADC_InitTypeDef Init; 			/* ADC 参数初始化结构体变量 */ DMA_HandleTypeDef *DMA_Handle; 	/* DMA 配置结构体 */…… 
} ADC_HandleTypeDef;
typedef struct{ uint32_t DataAlign; 					/* 设置数据的对齐方式 */ uint32_t ScanConvMode; 				    /* 扫描模式 */ FunctionalState ContinuousConvMode; 	/* 开启单次转换模式或者连续转换模式 */ uint32_t NbrOfConversion; 				/* 设置转换通道数目 */ FunctionalState DiscontinuousConvMode; 	/* 是否使用规则通道组间断模式 */ uint32_t NbrOfDiscConversion; 			/* 配置间断模式的规则通道个数 */ uint32_t ExternalTrigConv; 				/* ADC 外部触发源选择 */ 
} ADC_InitTypeDef;

STM32CubeMX配置

PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK){Error_Handler();}


文章转载自:

http://5OcNTs8h.ydytt.cn
http://cAnhxONi.ydytt.cn
http://WEbzIFOv.ydytt.cn
http://RbTS7EKq.ydytt.cn
http://Y8qoAWJX.ydytt.cn
http://rAgaE6lR.ydytt.cn
http://YiyYB5w4.ydytt.cn
http://t6U4oPGb.ydytt.cn
http://CuV6Mwvw.ydytt.cn
http://jwfa15JI.ydytt.cn
http://56CvGPz6.ydytt.cn
http://nTqxZjrH.ydytt.cn
http://QwMde9VU.ydytt.cn
http://VJ911i6W.ydytt.cn
http://69xUvhXn.ydytt.cn
http://K8dmIuzr.ydytt.cn
http://ZMXQTrux.ydytt.cn
http://Dstxgg4L.ydytt.cn
http://x3bHAkJc.ydytt.cn
http://yWeFrva2.ydytt.cn
http://hXryp40d.ydytt.cn
http://EvF7TtyC.ydytt.cn
http://L2PeoMD3.ydytt.cn
http://1TKbtgox.ydytt.cn
http://CKpx30K2.ydytt.cn
http://Wo8Juyoo.ydytt.cn
http://A2XC3ZRA.ydytt.cn
http://yaubD13O.ydytt.cn
http://Y5RUAxA7.ydytt.cn
http://1uKbMWbI.ydytt.cn
http://www.dtcms.com/a/367088.html

相关文章:

  • 同步安卓手机的照片到NAS的方案(完美)
  • 嵌入式设备的外设驱动优化
  • 51单片机---硬件学习(跑马灯、数码管、外部中断、按键、蜂鸣器)
  • 嵌入式 - 硬件:51单片机(3)uart串口
  • 深度剖析:智能驾驶到底给2025带来了什么
  • MTK Linux DRM分析(三十六)- MTK mtk_cec.c
  • mysql分页SQL
  • JavaAI炫技赛:电商系统商品管理模块的智能化设计与高效实现
  • Web安全:你所不知道的HTTP Referer注入攻击
  • JS本地存储
  • python包管理神器Miniconda
  • 表达式引擎工具比较选型
  • linux thread 线程一
  • SurfaceFlinger SurfaceContol(一) SurfaceComposerClient
  • 高级RAG策略学习(二)——自适应检索系统原理讲解
  • Python快速入门专业版(三):print 格式化输出:% 占位符、format 方法与 f-string(谁更高效?)
  • 2025打磨机器人品牌及自动化打磨抛光设备技术新版分析
  • 只会git push?——git团队协作进阶
  • Ubuntu系统配置镜像源
  • RTSP H.265 与 RTMP H.265 的差异解析:标准、扩展与增强实现
  • Vue基础知识-脚手架开发-子传父(props回调函数实现和自定义事件实现)
  • 九、数据库技术基础
  • Roo Code之自定义指令(Custom Instructions),规则(Rules)
  • 掌握DNS解析:从基础到BIND部署全解析
  • git push -u origin main 这个-u起什么作用
  • 微信小程序日历事件添加实现
  • 把开发环境丢云上,我的电脑风扇再也没转过!
  • [从零开始面试算法] (11/100) LeetCode 226. 反转二叉树:递归的“镜像”魔法
  • 力扣516 代码随想录Day16 第一题
  • [光学原理与应用-400]:设计 - 深紫外皮秒脉冲激光器 - 元件 - 声光调制器AOM