你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 6077|回复: 2

用模拟看门狗限定AD转换的范围,使用模拟看门狗中断出现问题

[复制链接]

38

主题

70

回帖

0

蝴蝶豆

中级会员

最后登录
2020-12-1
发表于 2011-12-1 10:30:26 | 显示全部楼层 |阅读模式
用模拟看门狗限定AD转换的范围,使用模拟看门狗中断出现问题
main.c中
ADC_Configuration();
do
  {
     id=ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC);
  }while(!id); 
if(adc_wd_flag = 1)
  {
     .......
    ADC_DeInit(ADC1);
  }

stm32f10x_it.c文件下有如下程序:
void ADC1_2_IRQHandler(void)

{
  if(ADC_GetFlagStatus(ADC1, ADC_FLAG_AWD)) 
     {
 adc_wd_flag = 1;
 ADC_ClearITPendingBit(ADC1, ADC_IT_AWD);
 ADC_ClearFlag(ADC1,ADC_FLAG_AWD|ADC_FLAG_STRT);
     }
}

if(adc_wd_flag = 1)中函数又返回到前面重新AD转换,当值在模拟看门狗阀值范围之内时,还是会产生模拟看门狗
中断,能清除的标志位都清了,又初始化ADC1,还是会产生中断,怎么回事啊?如果一开始就在模拟看门狗范围之内
程序没有问题,只有在第一次在阀值之外,第二次在阀值之内时出现第一次同样的情况,产生看门狗中断,
 
回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-12-1 17:48:48 | 显示全部楼层

RE:用模拟看门狗限定AD转换的范围,使用模拟看门狗中断出现问题

应该是你没有清除对应的看门狗的标志位。
回复 支持 反对

使用道具 举报

38

主题

70

回帖

0

蝴蝶豆

中级会员

最后登录
2020-12-1
 楼主| 发表于 2011-12-2 10:26:42 | 显示全部楼层

RE:用模拟看门狗限定AD转换的范围,使用模拟看门狗中断出现问题

已经解决了,不是中断的问题,是我设定的特值一直保持1,所以一直在循环
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版