新手上路
- 积分
- 28
- 金钱
- 28
- 注册时间
- 2018-6-4
- 在线时间
- 3 小时
|
1金钱
PVD上电中断可以进入,但掉电中断无法进去。请指点一下
void PWR_PVD_Init(void)
{
RCC->APB1ENR|=1<<28; //使能PORTB时钟
PWR->CR |= 7<<5; //2.9V 电压阀值
PWR->CR |= 1<<4; //PVD使能
EXTI->IMR|=1<<16;
EXTI->FTSR|=1<<16;
EXTI->EMR |=1<<16;
EXTI->SWIER |= 1<<16;
MY_NVIC_Init(1,0,PVD_IRQn,2);//组2,最低优先级
}
void PVD_IRQHandler(void)
{
EXTI->PR |=1<<16;//清中断
if (((PWR->CSR)&(1<<2))!=0)
{
STMFLASH_Unlock();
FLASH->SR|=1<<2; //清除PGERR位.
FLASH->SR|=1<<4; //清除WRPRT位.
FLASH->SR|=1<<5; //清除WRPRT位.
STMFLASH_Write_NoCheck(FLASH_ENSAVE_ADDR,(u16*)&TEXT_Buffer,sizeof(TEXT_Buffer));
STMFLASH_Lock();
}
}
|
最佳答案
查看完整内容[请看2#楼]
EXTI_Trigger_Rising EXTI_Trigger_Falling EXTI_Trigger_Rising_Falling 是对于PVD输出这个中断线来说的
电压的对比是相对于电压比较来说的,两者正好是相反的关系
代码没问题的,一直在用
|