STM32HAL库开发-ADC

1.概念:能把模拟信号转换为数字信号的转换器

1.模拟信号:时间和幅度都连续的信号

2.数字信号:在时间和幅度都离散的信号

2.采样深度:用多少位二进制数来表示一个采样点,ADC的采样深度越深,转换的结果越精细,采样深度时衡量ADC性能的重要指标

3.ADC类型介绍

4.内部结构(采样深度=4bit)

5.ADC的时钟

1.输入到ADC的信号是经过PCLK2分频得到的,输入到ADC的频率不可以超过14MHz

2.采样时间和转换时间都需要表示为时钟周期的倍数

3.每次对寄存器写入,消耗一个时钟周期

6.转换时间=对寄存器写入消耗的时钟周期+0.5时钟周期

7.采样时间=开关闭合的时间=电容充点的时间

8.最有采样时间Ts=(RAIN+RADC)*CADC*ln(2**N+2)

1.信号源内阻越大,充电电流越小,充电速度越慢,采样时间越长

2.RAIN:模拟输入信号的内阻

3.RADC:采样保持电路的电阻

4.CADC:采样保持电路的电容

5.N:ADC采样深度

9.相关库函数

1.HAL_ADC_Start():负责启动常规序列

1.工作原理:触发外部信号开关,使能外部触发信号

2.如果选择软件触发,则通过编程方式发送一个脉冲

2.HAL_ADC_PollForConversion():负责等待转换结束

1.作用:以轮询(标志位)的方式等待(常规序列)转换完成

2.AWD:模拟看门狗标志位

3.EOC:常规转换结束标志位,当常规序列转换结束,标志位值会从0变为1

4.JEOC:注入转换结束标志位

3.HAL_ADC_Getvalue():负责读取转换结果

1.作用:获取常规序列的转换结果,当转换结束后保存在结果寄存器中,常规序列转换结果保存在DR(数据寄存器,JDR是注入数据寄存器)寄存机中

相关推荐
国科安芯1 小时前
3 Ω 还是 5.5 Ω:ASL3157S 的供电电压、导通电阻与双路一致性怎么算
网络·嵌入式硬件·安全·模拟开关·抗辐射
传感器与混合集成电路1 小时前
28V输入又带浪涌怎么办?嵌入式计算机一次电源防护设计要点
嵌入式硬件
笨笨饿2 小时前
# 59_CSDN博客自动写流程文章
linux·jvm·stm32·单片机·嵌入式硬件·mcu·51单片机
尼喃2 小时前
双节锂电池充电芯片+保护IC二合一,一块板子搞定充电和放电保护
嵌入式硬件
冲,干,闯2 小时前
硬件器件-晶振篇
嵌入式硬件
wuyk5552 小时前
模块解耦实战:用 C 语言实现面向对象编程的三个层次
stm32·单片机·嵌入式硬件·性能优化·架构
hanhahai3 小时前
初识单片机
单片机·嵌入式硬件
深圳老胡3 小时前
STM32 工程在 VSCode 中用 AI 搭建软件骨架架构:从零到可运行的分层实践
笔记·stm32·单片机·代码规范
武汉万象奥科3 小时前
T153芯片解析:ARM+RISC-V异构架构,集成三路千兆网
arm开发·嵌入式硬件·物联网·arm核心板