18、STM32F4微控制器的ADC设置与使用

STM32F4微控制器的ADC设置与使用

1. 嵌入式系统中的模数转换

1.1 ADC中断

ADC模块可以在转换结束时或通过其模拟看门狗属性生成中断。这些中断需要通过各自的位分别启用。转换结束中断会针对常规或注入模式分别生成,并且它们对应的回调函数也是分开的。

模拟看门狗功能可将ADC结果与设置的高低两个阈值进行比较。在设置好ADC模块后,此操作会自动进行,无需单独编写代码。若转换结果超出阈值范围,就会生成中断,这类似于一个软件可配置的窗口比较器,其优点是无需模拟参考电压,比较是基于设置的阈值进行的。

1.2 采样和时钟

为了实现周期性采样,需要使用时钟信号。ADC模块为此配备了专用时钟ADCCLK,其最大时钟速度为36 MHz。

ADC模块的总转换时间是配置的采样周期与逐次逼近寄存器(SAR)操作持续时间之和,SAR操作持续时间取决于数据分辨率。采样周期可以是3、15、28、56、84、112、144或480个ADC时钟周期。对于12位数据分辨率,SAR操作持续时间为15个ADC时钟周期;对于10位、8位和6位数据分辨率,该持续时间可分别减少到13、11或9个ADC时钟周期。因此,ADC模块在12位分辨率下每秒可产生240万个样本;将ADCCLK设置为36 MHz时,在较低的6位分辨率下,每秒可达到400万个样本。

1.3 获取ADC操作结果

ADC操作结束后,转换结果会根据常规或注入操作分别写入ADC_DR或ADC_JDRx寄存器,这些寄存器可保存16位数据。由于转换结果可能是12位到6位,因此需要通过专用寄存器将其右对齐或左对齐。

常规和注入A

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值