您的位置:首页 > 其它

stm32 HAL PVD 电源监测

2017-12-25 13:33 162 查看
pvd.c

void PVD_Init(void)

{

    __HAL_RCC_PWR_CLK_ENABLE();

    PWR_PVDTypeDef PWR_PVDStruct;

    

    PWR_PVDStruct.PVDLevel = PWR_PVDLEVEL_6;             // 2.8V
    PWR_PVDStruct.Mode = PWR_PVD_MODE_IT_RISING;        //降至阈值电压时触发

                                                                                                          //谁能告诉我为什么是RISING不是FALLING

    HAL_PWR_ConfigPVD(&PWR_PVDStruct);

    

    HAL_PWR_EnablePVD();

}

/* 重写回调函数 */

void HAL_PWR_PVDCallback(void)

{

  HAL_GPIO_WritePin(Debug_LED_PORT, Debug_LED_PIN, GPIO_PIN_SET);           //debug_led亮

}

用中断

stm32f1xx_it.c

void PVD_IRQHandler(void)

{

  HAL_PWR_PVD_IRQHandler();

}

我用来在掉电时存储数据进flash,硬件上要保证掉电时间(从触发中断到电压降至2.0V)足够长,来进行你需要的操作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HAL f1 stm32 PVD 电源监测