快速了解STM32的ADC功能,从入门到精通

快速了解STM32的ADC功能,从入门到精通

快速了解STM32的ADC功能,从入门到精通

1.关于ADC输入通道与GPIO口的输入关系需要查看STM32芯片手册(p31)而非数据手册。

2.外部触发源指的是触发ADC采样的触发信号,这与1的GPIO口输入是两个不同概念。而JEXTBEL2:0或者EXTBEL2:0决定具体是哪个触发源。

3.大的方向,触发模式分为了 ADON位触发启动和外部触发启动ADC转换两种。用后者就行了

4.当我们使用一个ADC要采集多个通道时,单独规则组由于只使用了一个数据寄存器,并且是整个组转换完后才会触发中断,因此数据会覆盖,这种情况下需要使用DMA方法(后面采用试试),这时数据写到SRAM中了。而单独使用注入组总共可最多有四个通道,对应四个数据寄存器,不存在覆盖。

5.关于注入通道和规则通道,原子说的很形象,前者相当于中断,能打断后者。并且举得监控例子不错

6.双ADC模式是指ADC1和ADC2两个ADC同时使用的情况。其实对于我们如果使用通道少的话,一个ADC就够用了,比如使用一个注入组就能采集四个通道,而使用规则组就可以采集16个通道,一起就能20个通道了.

二、利用STM32内部温度传感器测量温度:

32的温度值与电压值成正比关系,利用下列公式得出温度

温度(°C) = {(V25- VSENSE) / Avg_Slope} + 25

这里:

V25=VSENSE在25°C时的数值

Avg_Slope=温度与VSENSE曲线的平均斜率(单位为mV/ °C或μV/ °C)

注意这里的V25和Vsense对应的是电压值,参考32的芯片手册可知,V25典型值为1.43,Avg_Slope为4.3mv/°C,Vsense即当前要测量温度对应的电压值,当3.3V对应3095,因此当前电压的计算可由比例关系Vsense = 3.3*当前寄存器采样值/4095。然后由上面公式得到当前温度。

//另注:自带的温度传感器是测试芯片自身温度,用其来测环境温度肯定有误差(转)

相关推荐
xiangw@GZ4 分钟前
纽扣电池型号
嵌入式硬件
优信电子13 分钟前
Raspberry Pi Pico 硬件开发 —— 第二课:MicroPython 从入门到项目实践(LED篇)
单片机·嵌入式硬件·树莓派·micropython·pico·入门教学
黑妹天下第一乖22 分钟前
第 12 讲:阿加犀 AidLux 部署与量产——把端侧 AI 应用做成 7×24 产品
人工智能·嵌入式硬件·数码相机·接口隔离原则·iot
xiangw@GZ1 小时前
Type‑C USB DRD 电路
单片机·嵌入式硬件
常州晟凯电子科技2 小时前
sigmaStar SSC305DE/SSC308开发笔记之开发环境搭建和SDK编译
人工智能·笔记·嵌入式硬件·物联网·性能优化·视频编解码
沐欣工作室_lvyiyi2 小时前
基于单片机的跑步机控制系统设计(论文+源码)
c语言·单片机·嵌入式硬件·课程设计·keil·跑步机设计
黑妹天下第一乖3 小时前
第 11 讲:阿加犀 AidLux 多组件综合实战——端侧“智能摄像头解说“全链路
人工智能·嵌入式硬件·语言模型·自然语言处理·iot
py有趣3 小时前
硬件SPI和软件模拟SPI在配置方面的一点区别
c语言·stm32·单片机
AUTO_150756759653 小时前
【KT70022】昆腾微 单片音频编解码器
单片机·音频
LCG元3 小时前
STM32F103 GPIO 翻转方式耗时实测:CRL/CRH 逐位拆解、BSRR 原子写与 ODR 读改写竞态陷阱
stm32·单片机·嵌入式硬件