STM32F4 ADC1 模拟看门狗【库函数操作】

本文介绍了如何在STM32F4上使用库函数配置ADC1的模拟看门狗,包括设置电压阈值、选择通道以及启用中断。通过ADC_AnalogWatchdogThresholdsConfig、ADC_AnalogWatchdogSingleChannelConfig和ADC_AnalogWatchdogCmd三个函数,可以实现看门狗的上下限设置和通道选择,并在电压超出范围时触发中断。在中断服务函数ADC_IRQHandler中,处理看门狗中断并清除相关标志位。
摘要由CSDN通过智能技术生成

ADC的模拟看门狗用于检查电压是否越界。他又上下两个边界,可分别在寄存器ADC_HTR和ADC_LTR中设置。库函数是使用ADC_AnalogWatchdogThresholdsConfig设置的,无论是常规通道还是注入通道,都非常简单。

当模拟看门狗检测到电压高于上限或者低于下限时将会产生看门狗中断。捕获这个中断,可以做出一些应对措施。

数据手册上特别之处的一个东西:模拟看门狗说使用的比较数据与ADC_CR2寄存器中设置的数据对齐方式无关。看门狗比较是在数据对齐之前完成的。先进行看门狗比较,再将数据放入ADC_DR数据寄存器。

在ST的库中,只有简单的三个与看门狗相关的函数:

void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, uint32_t ADC_AnalogWatchdog);
void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, uint16_t HighThreshold,uint16_t LowThreshold);
void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel);

使用ADC_AnalogWatchdogThresholdsConfig设置触发看门狗的上下限

使用ADC_AnalogWatchdogSingleChannelConfig配置要使用模拟看门狗的通道

配置完成后使用ADC_AnalogWatchdogCmd启动模拟看门狗。

我写的函数很简单,就这么三行。将模拟看门狗加在ADC1的CH1上。代码如下:

void ADC_WatchdogConfig(void)
{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值