OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2309|回复: 5

掉电检测PVD中断进不去,求大神支招啊

[复制链接]

6

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2016-5-25
在线时间
29 小时
发表于 2016-11-17 09:27:36 | 显示全部楼层 |阅读模式
10金钱
void PVD_Init(void) //IO3õê¼»ˉ
{
        NVIC_InitTypeDef NVIC_InitStruct;
        EXTI_InitTypeDef EXTI_InitStructure;

        NVIC_InitStruct.NVIC_IRQChannel = PVD_IRQn;
        NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;
        NVIC_InitStruct.NVIC_IRQChannelSubPriority = 2;
        NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;


        NVIC_Init(&NVIC_InitStruct);//????

        EXTI_ClearITPendingBit(EXTI_Line16);
        EXTI_InitStructure.EXTI_Line = EXTI_Line16;
        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;//EXTI_Trigger_Falling   ;//EXTI_Trigger_Rising;
        EXTI_InitStructure.EXTI_LineCmd = ENABLE;
        EXTI_Init(&EXTI_InitStructure);

        PWR_PVDLevelConfig(PWR_PVDLevel_2V5);
        PWR_PVDCmd(ENABLE);
        RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR, ENABLE); //_PWR, ENABLE); // ??????
}

void PVD_IRQHandler(void)
{        
        EXTI_ClearITPendingBit(EXTI_Line16);//ÇåÖD¶Ï
  if (EXTI_GetITStatus(EXTI_Line16) != RESET)
        {
                USART_SendData(USART1, 0xaa);
                USART_SendData(USART1, 0xab);
                USART_SendData(USART1, 0xac);
                USART_SendData(USART1, 0xad);
                while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET);
        }       
}

下面是main函数
int main(void)
{       
        SystemInit();                   //Ïμí3ê±ÖóéèÖÃ
        delay_init(72);             //Ñóê±3õê¼»ˉ
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏè¼¶£¬2λÏìó|óÅÏè¼¶
        LED_Init();                        //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú
        RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR, ENABLE); //_PWR, ENABLE);
        PWR_PVDLevelConfig(PWR_PVDLevel_2V5);  
        PWR_PVDCmd(ENABLE);
        PVD_Init();                        //3õê¼»ˉóë°′¼üᬽóμÄó2¼t½ó¿ú
        USART1_Config(9600);
        while(1)
        {
                ;
        }         
}
拔了电源之后怎么就进不去中断呢?

<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=10984466&site=qq&menu=y
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2016-5-25
在线时间
29 小时
 楼主| 发表于 2016-11-17 09:36:15 | 显示全部楼层
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=10984466&site=qq&menu=y
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-11-17 22:01:19 | 显示全部楼层
帮顶
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2016-11-17 22:08:26 | 显示全部楼层
电源都拔了,单片机还能工作?
回复

使用道具 举报

6

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2016-5-25
在线时间
29 小时
 楼主| 发表于 2016-11-18 14:59:29 | 显示全部楼层
jinggx 发表于 2016-11-17 22:08
电源都拔了,单片机还能工作?

PVD不是在电压低于设定值时候就进入中断吗?我拔掉电源时候应该可以进入中断并执行串口发送吧??
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=10984466&site=qq&menu=y
回复

使用道具 举报

6

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2016-5-25
在线时间
29 小时
 楼主| 发表于 2016-11-18 14:59:51 | 显示全部楼层

不要帮顶,要帮解决问题。。。
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=10984466&site=qq&menu=y
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 08:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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