打印

PVD中断重复进入。

[复制链接]
2832|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
28182900|  楼主 | 2012-6-11 21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
gp, rc, pi, ip, IO
本帖最后由 28182900 于 2012-6-12 07:48 编辑

用pvd做掉电**在掉电过程中会不断的进入中断,直到掉电结束
请问有没有办法每次掉电的时候只进入一次中断?
void PVD_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line16) != RESET)
  {
    //Clear the Key Button EXTI line pending bit
    EXTI_ClearITPendingBit(EXTI_Line16);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, DISABLE);                     //  关闭 GPIOA 时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, DISABLE);                     //  关闭 GPIOB 时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, DISABLE);                     //  关闭 GPIOC 时钟
    CS_L;
    Delay(111);
    I2C_PageWrite(LGRxBuffer,250,0,0xa0);
    Delay(111);
    CS_H;
    __set_PRIMASK(1);   // 关除了EMI和FAULT中断
    __set_FAULTMASK(1); //关除了EMI中断
    NVIC_SystemReset();  
  }
}
沙发
651130881| | 2012-6-11 21:50 | 只看该作者
路过

使用特权

评论回复
板凳
28182900|  楼主 | 2012-6-13 08:00 | 只看该作者
人工置顶。。

使用特权

评论回复
地板
airwill| | 2012-6-13 09:01 | 只看该作者
你不能在中断中关闭 PVD 嘛

使用特权

评论回复
5
28182900|  楼主 | 2012-6-13 09:04 | 只看该作者
关闭中断后,不是要复位吗,一复位不就。。

使用特权

评论回复
6
airwill| | 2012-6-13 09:31 | 只看该作者
本帖最后由 airwill 于 2012-6-13 09:33 编辑

电源控制/状态寄存器(PWR_CSR)中的PVDO标志用来表明VDD是高于还是低于PVD的电压阀值。该事件在内部连接到外部中断的第16线,如果该中断在外部中断寄存器中是使能的,该事件就会产生中断。当VDD下降到PVD阀值以下和(或)当VDD上升到PVD阀值之上时,根据外部中断第16线的上升/下降边沿触发设置,就会产生PVD中断。

设置外部中断第16线边沿触发

使用特权

评论回复
7
denike| | 2012-6-13 11:24 | 只看该作者
直接在中断while(1)死等

使用特权

评论回复
8
28182900|  楼主 | 2012-6-13 13:08 | 只看该作者
直接在中断while(1)死等
denike 发表于 2012-6-13 11:24

不行的,如果这时候用户开机怎么办

使用特权

评论回复
9
28182900|  楼主 | 2012-6-13 13:09 | 只看该作者
电源控制/状态寄存器(PWR_CSR)中的PVDO标志用来表明VDD是高于还是低于PVD的电压阀值。该事件在内部连接到外部中断的第16线,如果该中断在外部中断寄存器中是使能的,该事件就会产生中断。当VDD下降到PVD阀值以下和( ...
airwill 发表于 2012-6-13 09:31

我是设置边沿触发,  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;

使用特权

评论回复
10
28182900|  楼主 | 2012-6-14 09:38 | 只看该作者
不行的复位后 PVDO也被清零的,其实这时候电压是一直处于阀值以下的,为什么会中断?

使用特权

评论回复
11
28182900|  楼主 | 2012-6-15 12:40 | 只看该作者
:'(

使用特权

评论回复
12
28182900|  楼主 | 2012-6-19 22:17 | 只看该作者
没有人这么做吗?
好好奇大家都掉电**是怎么做的?

使用特权

评论回复
13
28182900|  楼主 | 2012-6-22 17:10 | 只看该作者
我顶~

使用特权

评论回复
14
28182900|  楼主 | 2012-6-24 22:35 | 只看该作者
UP求高手

使用特权

评论回复
15
28182900|  楼主 | 2012-11-7 14:03 | 只看该作者
顶顶~~~~~

使用特权

评论回复
16
dzguang| | 2012-11-8 09:30 | 只看该作者
退出中断你还有事情要做?没有的话,你就直接while(1),一直到完全断电不就行了?

使用特权

评论回复
17
28182900|  楼主 | 2012-11-12 09:56 | 只看该作者
退出中断你还有事情要做?没有的话,你就直接while(1),一直到完全断电不就行了?
dzguang 发表于 2012-11-8 09:30

还是那个问题,如果这时候用户开机怎么办?永不 掉电一直死循环了。

使用特权

评论回复
18
28182900|  楼主 | 2012-11-22 13:36 | 只看该作者
什么 [长期未结的主题] | 啊 我还没解决呢。

使用特权

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

本版积分规则

100

主题

1127

帖子

2

粉丝