DVT
This commit is contained in:
68
A5H_9225_8108_SPIV3.0/APP/pvd/PvdApi.c
Normal file
68
A5H_9225_8108_SPIV3.0/APP/pvd/PvdApi.c
Normal file
@@ -0,0 +1,68 @@
|
||||
#include "hy9225.h"
|
||||
#include "stdio.h"
|
||||
#include "PvdApi.h"
|
||||
#include "xtal.h"
|
||||
|
||||
uint8_t pvd_flag = 0;
|
||||
|
||||
void PVD_Init(void)
|
||||
{
|
||||
EXTI_InitType EXTI_InitSt;
|
||||
RCC_APB1_Peripheral_Clock_Enable(RCC_APB1_PERIPH_PWR);
|
||||
|
||||
EXTI_Structure_Initializes(&EXTI_InitSt);
|
||||
EXTI_Flag_Status_Clear(EXTI_LINE16);
|
||||
EXTI_InitSt.EXTI_Line = EXTI_LINE16;
|
||||
EXTI_InitSt.EXTI_Mode = EXTI_Mode_Interrupt;
|
||||
EXTI_InitSt.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
|
||||
EXTI_InitSt.EXTI_LineCmd = ENABLE;
|
||||
EXTI_Peripheral_Initializes(&EXTI_InitSt);
|
||||
|
||||
|
||||
PWR_PVD_Level_Config(PWR_PVD_LEVEL_2V88);
|
||||
PWR->CTRL |= 0x10;
|
||||
}
|
||||
|
||||
|
||||
void PVD_IRQHandler(void)
|
||||
{
|
||||
if (EXTI_Interrupt_Status_Get(EXTI_LINE16) != RESET)
|
||||
{
|
||||
pvd_flag = 1;
|
||||
printf("p\n");
|
||||
EXTI_Flag_Status_Clear(EXTI_LINE16);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void PvdApi_Process(void)
|
||||
{
|
||||
if(pvd_flag)
|
||||
{
|
||||
pvd_flag=0;
|
||||
printf("occur VCC less than 2V9\n");
|
||||
printf("occur VCC less than 2V9\n");
|
||||
printf("occur VCC less than 2V9\n");
|
||||
printf("ready to restart bcon\n");
|
||||
delay_ms(50);
|
||||
NVIC_SystemReset();//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
10
A5H_9225_8108_SPIV3.0/APP/pvd/PvdApi.h
Normal file
10
A5H_9225_8108_SPIV3.0/APP/pvd/PvdApi.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef __PVDAPI_H__
|
||||
#define __PVDAPI_H__
|
||||
|
||||
#include "stdint.h"
|
||||
|
||||
extern void PVD_Init(void);
|
||||
extern void PvdApi_Process(void);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user