【单片机】ADC

ADC在我们日常中是比较常用的,最普通的不过于各种传感器的值的转换,在企业开发层面,更是用到ADC进行不同按键键值的读取。而不是常用的普通的IO口判断。

ADC是作为外设用的,前面提到的判断按键,主要是其不占用CPU,可以大大节省功耗和主控的运行,其次,ADC是一个模数转换的过程,也就是把电压转化为数组,不同的开发板ADC支持的阈值范围不一样。大部分都是12位分辨率,也就是 2^12 = 4096 ,   意思就是可以对支持的电压范围分为4096等份进行测量。 

具体的支持分辨率还是要看单片机支持的ADC的位宽是多少。

ADC+DMA

ADC+ DMA 的使用,可以满足全部都是外设控制的数据转换,不用经过CPU控制,不会占用资源,这样大大释放了CPU。

ADC多种配置模式

转换模式

连续转换---------   可以一直内部运行对数据进行转换,这样功耗肯定会相对提高

单次转换---------    正常情况都是软件写代码进行一次ADC采集,满足对特定场景需求的转换

但是 正常都是转换多次取平均值+  数据异常剔除进行处理,实现精准采集。

扫描模式

扫描模式主要是用于多通道的转换,也就是在进行多个通道转换的时候用到,大部分情况是与DMA配合,实现点对点的搬运

数据对齐选择

数据对齐主要是跟自己设置的协议加密相关,也就是采集到的二进制数据要把12位的左边补满还是把右边补满。

ADC中断配置

这个就不用多说啦,主要是满足特定场景的需求,比如低功耗模式的唤醒、通常与前面的按键ADC值获取结合运用。

ESP32-P4的ADC

         最近在开发ESP32-P4,就顺便提一嘴,ESP32的ADC有多个通道,主要都是结构体定义,与常规单片机不同的在于ESP32 有ADC衰减, 其实也就是对测量阈值的设计,我们的分辨率可以设置最大4096, 在此情况下,如果ADC采集阈值越小,等分出来就越细,精度也就越高了。

        同时另外一个不同点就在于ESP32-P4 可以自己设置位宽,个人感觉是跟内存的节约有关,位宽也就是ADC的值的大小范围, 所以把位宽和衰减结合起来就可以实现节约内存+足够精度的处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值