[STM32F1] 为什么好多人都没有用过STM32的模拟看门狗

[复制链接]
8517|31
 楼主| xiashengcheng 发表于 2016-6-6 18:57 | 显示全部楼层 |阅读模式
本帖最后由 xiashengcheng 于 2016-6-7 12:26 编辑
  1. void Adc_dog(void)
  2. {
  3.         
  4.         ADC_AnalogWatchdogSingleChannelConfig(ADC1,ADC_Channel_6);//设置看门狗ADC通道
  5.         ADC_AnalogWatchdogThresholdsConfig(ADC1, data_DLset, 0x00);//设置看门狗通道高限/低限。
  6.         ADC_AnalogWatchdogCmd(ADC1,ADC_AnalogWatchdog_SingleRegEnable);//设置规则组单次转换那个啥
  7.         ADC_ITConfig(ADC1,ADC_IT_AWD,ENABLE);//开门放狗使能

  8.         
  9. }
  1. void NVIC_ADC_Configuration(void)//ADC¿´ÃŹ·
  2. {
  3.         NVIC_InitTypeDef NVIC_InitStructure;
  4.   //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //????
  5.   NVIC_InitStructure.NVIC_IRQChannel = ADC1_2_IRQn;//设置中断向量地址
  6.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//开使能
  7.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00;//那啥优先权
  8.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00;//那啥优先权
  9.         NVIC_Init(&NVIC_InitStructure);
  10. }

首先这个程序现在是可以正常ADC超限中断了。
但是我有几个地方还是没有明白望高手指点:


1.看门狗中断是在看门狗启动后就可以像GPIO——EXTI一个中断吗(当外部电压信号高与设定值自动进入中断吗)
2,看门狗如果不是第一种情况工作那么是:看门狗启动后,然后在每一次ADC转换启动的时候才检测是不是超限然后再中断吗?
zhuomuniao110 发表于 2016-6-6 21:54 | 显示全部楼层
应该是设计时候就避免了这种情况发生不
 楼主| xiashengcheng 发表于 2016-6-7 12:21 | 显示全部楼层
zhuomuniao110 发表于 2016-6-6 21:54
应该是设计时候就避免了这种情况发生不

设计的时候?难道STM32不可以做到连续间隔3US读一次ADC的值。
 楼主| xiashengcheng 发表于 2016-6-7 12:27 | 显示全部楼层
各位码神,请问有办法也做到3US超限响应ADC看门狗中断吗?
M.gtd 发表于 2016-6-7 12:44 | 显示全部楼层
应该是第一种工作方式,不过要等到转换完成才比较,看内部示意图没有硬件比较器。
adc最快1us,加上最高级中断响应(自己设定)延时,应该可以满足3us响应,
但可能有万一的情况。。。楼下补充!
ywlzh 发表于 2016-6-7 12:45 | 显示全部楼层
哎 给你个工程吧,我以前用过
文件太大,传不了 算了 你自己琢磨吧
myxiaonia 发表于 2016-6-7 14:44 | 显示全部楼层
我用过模拟看门狗做掉电检测用,效果还是不错的
mohanwei 发表于 2016-6-7 17:18 | 显示全部楼层
STM32很多时候挂掉时在外面拉低复位引脚都不管用,要断电才行……你说搞个片内看门狗能有多大作用呢
通宵敲代码 发表于 2016-6-7 19:00 | 显示全部楼层
模拟看门狗,第一次听说,
跟看门狗有啥区别吗
 楼主| xiashengcheng 发表于 2016-6-8 22:25 | 显示全部楼层
mohanwei 发表于 2016-6-7 17:18
STM32很多时候挂掉时在外面拉低复位引脚都不管用,要断电才行……你说搞个片内看门狗能有多大作用呢 ...

我是用来做电机过流保护 用的,要求3US内一定要响应电流过大就关断要不然MOS管会炸。
 楼主| xiashengcheng 发表于 2016-6-8 22:27 | 显示全部楼层
ywlzh 发表于 2016-6-7 12:45
哎 给你个工程吧,我以前用过
文件太大,传不了 算了 你自己琢磨吧

可以加个QQ吗254060575
 楼主| xiashengcheng 发表于 2016-6-8 22:28 | 显示全部楼层
M.gtd 发表于 2016-6-7 12:44
应该是第一种工作方式,不过要等到转换完成才比较,看内部示意图没有硬件比较器。
adc最快1us,加上最高级 ...

你的意思是用定时器间隔3US中断一次然后去读 ADC吗?
 楼主| xiashengcheng 发表于 2016-6-8 22:28 | 显示全部楼层
通宵敲代码 发表于 2016-6-7 19:00
模拟看门狗,第一次听说,
跟看门狗有啥区别吗

还真有没听过的啊
 楼主| xiashengcheng 发表于 2016-6-9 18:37 | 显示全部楼层
mohanwei 发表于 2016-6-7 17:18
STM32很多时候挂掉时在外面拉低复位引脚都不管用,要断电才行……你说搞个片内看门狗能有多大作用呢 ...

我不是用他来做掉电检测的,我是用来做电流过流保护,要求在3US内一定要响应关断输出。不要然后果很严重的
 楼主| xiashengcheng 发表于 2016-6-9 21:36 | 显示全部楼层
咋就没有高人指点呢?
tototm 发表于 2016-6-10 10:32 来自手机 | 显示全部楼层
等高手分享!
通宵敲代码 发表于 2016-6-11 22:32 | 显示全部楼层
 楼主| xiashengcheng 发表于 2016-6-18 22:01 | 显示全部楼层
 楼主| xiashengcheng 发表于 2016-6-18 22:02 | 显示全部楼层

高手指点一下啦
huangqi412 发表于 2016-6-19 06:37 来自手机 | 显示全部楼层
xiashengcheng 发表于 2016-6-9 18:37
我不是用他来做掉电检测的,我是用来做电流过流保护,要求在3US内一定要响应关断输出。不要然后果很严重 ...

比较器不好些么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

107

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部