/*---------------------------------------------------------------------------------------------------------*/
/* */
/* SPDX-License-Iden
tifier: Apache-2.0 */
/* Copyright(c) 2020 Nuvoton Technology Corp. All rights reserved. */
/* */
/*---------------------------------------------------------------------------------------------------------*/
//***********************************************************************************************************
// File Function: MS51 BOD interrupt demo code
//***********************************************************************************************************
#include "MS51_32K.H"
位 bodflag=0;
void BOD_ISR (void) interrupt 8 // Vector @ 0x43
{
clr_CHPCON_IAPEN;
clr_BODCON0_BOF;
bodflag=1;
}
//----------------------------------------------------------------------------------------------//
无效 delay_ms(无符号整数 ms) {
unsigned int i, j;
for (i = 0; i < ms; i++)
for (j = 0; j < 2000; j++);
}
无效主体(无效)
{
/* As defaut all multi function define as GPIO */
ALL_GPIO_PUSHPULL_MODE;
// P01=1;
BOD_Open(Enable, VBOD_3_7, BOD_Reset_Disable);
BOD_LowPower(LPBOD_Mode_3);
BOD_Interrupt(Enable);
ENABLE_GLOBAL_INTERRUPT;
while(1)
{
P0=~P0;
_delay_();
if (bodflag)
{
while (1)
{
P01=0;
P00=0;
}
}
}
}
IN THIS CODE BOD INT IS NOT DETECTING WHEN VDD DROP BELOW 3.7 , I HAVE TAKEN THIS CODE FROM THE MS51PCOAE BSP EXAMPLE.