硬汉嵌入式论坛

 找回密码
 立即注册
查看: 487|回复: 2
收起左侧

[有问必答] 关于STM32 模拟看门狗的问题

[复制链接]

22

主题

67

回帖

133

积分

初级会员

积分
133
发表于 2023-6-25 17:20:56 | 显示全部楼层 |阅读模式



今天看了一下模拟看门狗发现了一个问题,使用模拟看门1的时候如果有两个或者以上的ADC通道,模拟看门狗只对RAN1中的ADC数据越界有中断模拟看门狗的作用,而RANK2根本不会触发ADC的中断,想知道这是为什么呢?


RANK1 是通道ADC通道0的时候 可以 触发 模拟看门狗ADC中断的,代码如下。

  LL_ADC_SetAnalogWDMonitChannels(ADC1, LL_ADC_AWD1, LL_ADC_AWD_CHANNEL_0_REG);
  LL_ADC_ConfigAnalogWDThresholds(ADC1, LL_ADC_AWD1, 2000, 0);
  LL_ADC_DisableIT_AWD1(ADC1);

但是如果这样配置就不能触发了



  LL_ADC_SetAnalogWDMonitChannels(ADC1, LL_ADC_AWD1, LL_ADC_AWD_CHANNEL_1_REG);
  LL_ADC_ConfigAnalogWDThresholds(ADC1, LL_ADC_AWD1, 2000, 0);
  LL_ADC_DisableIT_AWD1(ADC1);


也就是说 模拟看门狗只对rank1中的通道数据有作用,想讨论一下这是为什么呢。还是这个代码的配置本身有问题?
回复

使用道具 举报

22

主题

67

回帖

133

积分

初级会员

积分
133
 楼主| 发表于 2023-6-25 17:40:52 | 显示全部楼层
我的配置是这样的
模拟看门狗.png
回复

使用道具 举报

22

主题

67

回帖

133

积分

初级会员

积分
133
 楼主| 发表于 2023-6-25 17:26:03 | 显示全部楼层
本帖最后由 2360985396 于 2023-6-25 17:39 编辑

我在ADC校准完成之后使用了LL_ADC_EnableIT_AWD1(ADC1)使能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 21:57 , Processed in 0.298467 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表