打印
[STM32F1]

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

[复制链接]
7682|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiashengcheng|  楼主 | 2016-6-6 18:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xiashengcheng 于 2016-6-7 12:26 编辑
void Adc_dog(void)
{
        
        ADC_AnalogWatchdogSingleChannelConfig(ADC1,ADC_Channel_6);//设置看门狗ADC通道
        ADC_AnalogWatchdogThresholdsConfig(ADC1, data_DLset, 0x00);//设置看门狗通道高限/低限。
        ADC_AnalogWatchdogCmd(ADC1,ADC_AnalogWatchdog_SingleRegEnable);//设置规则组单次转换那个啥
        ADC_ITConfig(ADC1,ADC_IT_AWD,ENABLE);//开门放狗使能

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

首先这个程序现在是可以正常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看门狗中断吗?

使用特权

评论回复
5
M.gtd| | 2016-6-7 12:44 | 只看该作者
应该是第一种工作方式,不过要等到转换完成才比较,看内部示意图没有硬件比较器。
adc最快1us,加上最高级中断响应(自己设定)延时,应该可以满足3us响应,
但可能有万一的情况。。。楼下补充!

使用特权

评论回复
6
ywlzh| | 2016-6-7 12:45 | 只看该作者
哎 给你个工程吧,我以前用过
文件太大,传不了 算了 你自己琢磨吧

使用特权

评论回复
7
myxiaonia| | 2016-6-7 14:44 | 只看该作者
我用过模拟看门狗做掉电检测用,效果还是不错的

使用特权

评论回复
8
mohanwei| | 2016-6-7 17:18 | 只看该作者
STM32很多时候挂掉时在外面拉低复位引脚都不管用,要断电才行……你说搞个片内看门狗能有多大作用呢

使用特权

评论回复
9
通宵敲代码| | 2016-6-7 19:00 | 只看该作者
模拟看门狗,第一次听说,
跟看门狗有啥区别吗

使用特权

评论回复
10
xiashengcheng|  楼主 | 2016-6-8 22:25 | 只看该作者
mohanwei 发表于 2016-6-7 17:18
STM32很多时候挂掉时在外面拉低复位引脚都不管用,要断电才行……你说搞个片内看门狗能有多大作用呢 ...

我是用来做电机过流保护 用的,要求3US内一定要响应电流过大就关断要不然MOS管会炸。

使用特权

评论回复
11
xiashengcheng|  楼主 | 2016-6-8 22:27 | 只看该作者
ywlzh 发表于 2016-6-7 12:45
哎 给你个工程吧,我以前用过
文件太大,传不了 算了 你自己琢磨吧

可以加个QQ吗254060575

使用特权

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

你的意思是用定时器间隔3US中断一次然后去读 ADC吗?

使用特权

评论回复
13
xiashengcheng|  楼主 | 2016-6-8 22:28 | 只看该作者
通宵敲代码 发表于 2016-6-7 19:00
模拟看门狗,第一次听说,
跟看门狗有啥区别吗

还真有没听过的啊

使用特权

评论回复
14
xiashengcheng|  楼主 | 2016-6-9 18:37 | 只看该作者
mohanwei 发表于 2016-6-7 17:18
STM32很多时候挂掉时在外面拉低复位引脚都不管用,要断电才行……你说搞个片内看门狗能有多大作用呢 ...

我不是用他来做掉电检测的,我是用来做电流过流保护,要求在3US内一定要响应关断输出。不要然后果很严重的

使用特权

评论回复
15
xiashengcheng|  楼主 | 2016-6-9 21:36 | 只看该作者
咋就没有高人指点呢?

使用特权

评论回复
16
tototm| | 2016-6-10 10:32 | 只看该作者
等高手分享!

使用特权

评论回复
17
通宵敲代码| | 2016-6-11 22:32 | 只看该作者

使用特权

评论回复
18
xiashengcheng|  楼主 | 2016-6-18 22:01 | 只看该作者

使用特权

评论回复
19
xiashengcheng|  楼主 | 2016-6-18 22:02 | 只看该作者

高手指点一下啦

使用特权

评论回复
20
huangqi412| | 2016-6-19 06:37 | 只看该作者
xiashengcheng 发表于 2016-6-9 18:37
我不是用他来做掉电检测的,我是用来做电流过流保护,要求在3US内一定要响应关断输出。不要然后果很严重 ...

比较器不好些么

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

107

帖子

1

粉丝