| Mini51 BSP V3.02.002 The Board Support Package for Mini51 Series

Macros | Functions
sys.h File Reference

Mini51 series SYS driver header file. More...

Go to the source code of this file.

## Macros
#define | ADC_RST ((0x4<<24) | SYS_IPRSTC2_ADC_RST_Pos )
#define | ACMP_RST ((0x4<<24) | SYS_IPRSTC2_ACMP_RST_Pos )
#define | PWM_RST ((0x4<<24) | SYS_IPRSTC2_PWM_RST_Pos )
#define | UART_RST ((0x4<<24) | SYS_IPRSTC2_UART_RST_Pos )
#define | SPI_RST ((0x4<<24) | SYS_IPRSTC2_SPI_RST_Pos )
#define | I2C_RST ((0x4<<24) | SYS_IPRSTC2_I2C_RST_Pos )
#define | TMR1_RST ((0x4<<24) | SYS_IPRSTC2_TMR1_RST_Pos )
#define | TMR0_RST ((0x4<<24) | SYS_IPRSTC2_TMR0_RST_Pos )
#define | GPIO_RST ((0x4<<24) | SYS_IPRSTC2_GPIO_RST_Pos )
#define | SYS_BODCR_BOD_RST_EN (1UL<<SYS_BODCR_BOD_RSTEN_Pos)
#define | SYS_BODCR_BOD_INTERRUPT_EN (0UL<<SYS_BODCR_BOD_RSTEN_Pos)
#define | SYS_BODCR_BOD_DISABLE (3UL<<SYS_BODCR_BOD_VL_Pos)
#define | SYS_BODCR_BOD_VL_4_4V (3UL<<SYS_BODCR_BOD_VL_Pos)
#define | SYS_BODCR_BOD_VL_3_7V (2UL<<SYS_BODCR_BOD_VL_Pos)
#define | SYS_BODCR_BOD_VL_2_7V (1UL<<SYS_BODCR_BOD_VL_Pos)
#define | SYS_BODCR_BOD_VL_2_2V (0UL<<SYS_BODCR_BOD_VL_Pos)
#define | SYS_MFP_TYPE_Msk(bit) (1UL << ((bit) +16))
#define | SYS_MFP_ALT_Msk(bit) (1UL << ((bit) + 8))
#define | SYS_MFP_MFP_Msk(bit) (1UL << ((bit) ))
#define | SYS_MFP_P00_GPIO 0x00000000UL
#define | SYS_MFP_P00_CTS 0x00000100UL
#define | SYS_MFP_P00_TXD 0x00000101UL
#define | SYS_MFP_P00_Msk 0x01000101UL
#define | SYS_MFP_P01_GPIO 0x00000000UL
#define | SYS_MFP_P01_SPISS 0x00000002UL
#define | SYS_MFP_P01_RTS 0x00000200UL
#define | SYS_MFP_P01_RXD 0x00000202UL
#define | SYS_MFP_P01_Msk 0x02000202UL
#define | SYS_MFP_P04_GPIO 0x00000000UL
#define | SYS_MFP_P04_SPISS 0x00001000UL
#define | SYS_MFP_P04_PWM5 0x00001010UL
#define | SYS_MFP_P04_Msk 0x00001010UL
#define | SYS_MFP_P05_GPIO 0x00000000UL
#define | SYS_MFP_P05_MOSI 0x00002000UL
#define | SYS_MFP_P05_Msk 0x00002020UL
#define | SYS_MFP_P06_GPIO 0x00000000UL
#define | SYS_MFP_P06_MISO 0x00004000UL
#define | SYS_MFP_P06_Msk 0x00004040UL
#define | SYS_MFP_P07_GPIO 0x00000000UL
#define | SYS_MFP_P07_SPICLK 0x00008000UL
#define | SYS_MFP_P07_Msk 0x00008080UL
#define | SYS_MFP_P10_GPIO 0x00000000UL
#define | SYS_MFP_P10_AIN1 0x00000001UL
#define | SYS_MFP_P10_CPP0 0x00000101UL
#define | SYS_MFP_P10_Msk 0x00000101UL
#define | SYS_MFP_P12_GPIO 0x00000000UL
#define | SYS_MFP_P12_AIN2 0x00000004UL
#define | SYS_MFP_P12_RXD 0x00000400UL
#define | SYS_MFP_P12_CPP0 0x00000404UL
#define | SYS_MFP_P12_Msk 0x00000404UL
#define | SYS_MFP_P13_GPIO 0x00000000UL
#define | SYS_MFP_P13_AIN3 0x00000008UL
#define | SYS_MFP_P13_TXD 0x00000800UL
#define | SYS_MFP_P13_CPP0 0x00000808UL
#define | SYS_MFP_P13_Msk 0x00000808UL
#define | SYS_MFP_P14_GPIO 0x00000000UL
#define | SYS_MFP_P14_AIN4 0x00000010UL
#define | SYS_MFP_P14_CPN0 0x00001010UL
#define | SYS_MFP_P14_Msk 0x00001010UL
#define | SYS_MFP_P15_GPIO 0x00000000UL
#define | SYS_MFP_P15_AIN5 0x00000020UL
#define | SYS_MFP_P15_CPP0 0x00002020UL
#define | SYS_MFP_P15_Msk 0x00002020UL
#define | SYS_MFP_P22_GPIO 0x00000000UL
#define | SYS_MFP_P22_PWM0 0x00000400UL
#define | SYS_MFP_P22_Msk 0x00000404UL
#define | SYS_MFP_P23_GPIO 0x00000000UL
#define | SYS_MFP_P23_PWM1 0x00000800UL
#define | SYS_MFP_P23_Msk 0x00000808UL
#define | SYS_MFP_P24_GPIO 0x00000000UL
#define | SYS_MFP_P24_PWM2 0x00001000UL
#define | SYS_MFP_P24_Msk 0x00001010UL
#define | SYS_MFP_P25_GPIO 0x00000000UL
#define | SYS_MFP_P25_PWM3 0x00002000UL
#define | SYS_MFP_P25_Msk 0x00002020UL
#define | SYS_MFP_P26_GPIO 0x00000000UL
#define | SYS_MFP_P26_PWM4 0x00004000UL
#define | SYS_MFP_P26_CPO1 0x00004040UL
#define | SYS_MFP_P26_Msk 0x00004040UL
#define | SYS_MFP_P30_GPIO 0x00000000UL
#define | SYS_MFP_P30_CPN1 0x00000100UL
#define | SYS_MFP_P30_AIN6 0x00000101UL
#define | SYS_MFP_P30_Msk 0x00000101UL
#define | SYS_MFP_P31_GPIO 0x00000000UL
#define | SYS_MFP_P31_CPP1 0x00000200UL
#define | SYS_MFP_P31_AIN7 0x00000202UL
#define | SYS_MFP_P31_Msk 0x00000202UL
#define | SYS_MFP_P32_GPIO 0x00000000UL
#define | SYS_MFP_P32_INT0 0x00000004UL
#define | SYS_MFP_P32_T0EX 0x00000400UL
#define | SYS_MFP_P32_STADC 0x00000404UL
#define | SYS_MFP_P32_CPP1 0x01000000UL
#define | SYS_MFP_P32_Msk 0x01000404UL
#define | SYS_MFP_P34_GPIO 0x00000000UL
#define | SYS_MFP_P34_T0 0x00000010UL
#define | SYS_MFP_P34_SDA 0x00001000UL
#define | SYS_MFP_P34_CPP1 0x00001010UL
#define | SYS_MFP_P34_Msk 0x00001010UL
#define | SYS_MFP_P35_GPIO 0x00000000UL
#define | SYS_MFP_P35_T1 0x00000020UL
#define | SYS_MFP_P35_SCL 0x00002000UL
#define | SYS_MFP_P35_CPP1 0x00002020UL
#define | SYS_MFP_P35_Msk 0x00002020UL
#define | SYS_MFP_P36_GPIO 0x00000000UL
#define | SYS_MFP_P36_T1EX 0x00000040UL
#define | SYS_MFP_P36_CKO 0x00004000UL
#define | SYS_MFP_P36_CPO0 0x00004040UL
#define | SYS_MFP_P36_Msk 0x00004040UL
#define | SYS_MFP_P46_GPIO 0x00000000UL
#define | SYS_MFP_P46_ICE_CLK 0x00000040UL
#define | SYS_MFP_P46_Msk 0x00004040UL
#define | SYS_MFP_P47_GPIO 0x00000000UL
#define | SYS_MFP_P47_ICE_DAT 0x00000080UL
#define | SYS_MFP_P47_Msk 0x00008080UL
#define | SYS_MFP_P50_GPIO 0x00000000UL
#define | SYS_MFP_P50_XTAL1 0x00000001UL
#define | SYS_MFP_P50_Msk 0x00000101UL
#define | SYS_MFP_P51_GPIO 0x00000000UL
#define | SYS_MFP_P51_XTAL2 0x00000002UL
#define | SYS_MFP_P51_Msk 0x00000202UL
#define | SYS_MFP_P52_GPIO 0x00000000UL
#define | SYS_MFP_P52_INT1 0x00000004UL
#define | SYS_MFP_P52_Msk 0x00000404UL
#define | SYS_MFP_P53_GPIO 0x00000000UL
#define | SYS_MFP_P53_AIN0 0x00000008UL
#define | SYS_MFP_P53_Msk 0x00000808UL
#define | SYS_MFP_P54_GPIO 0x00000000UL
#define | SYS_MFP_P54_Msk 0x00001010UL
#define | SYS_MFP_P55_GPIO 0x00000000UL
#define | SYS_MFP_P55_Msk 0x00002020UL
#define | SYS_CLEAR_BOD_INT_FLAG() (SYS->BODCTL |= SYS_BODCR_BOD_INTF_Msk)
| Clear Brown-out detector interrupt flag. More...
#define | SYS_CLEAR_BOD_LPM() (SYS->BODCTL &= ~SYS_BODCR_BOD_LPM_Msk)
| Set Brown-out detector function to normal mode. More...
#define | SYS_DISABLE_BOD() (SYS->BODCTL = (SYS->BODCTL &~(SYS_BODCR_BOD_VL_Msk|SYS_BODCR_BOD_VL_EXT_Msk))|SYS_BODCR_BOD_DISABLE)
| Disable Brown-out detector function. More...
#define | SYS_ENABLE_BOD() (SYS->BODCTL = (SYS->BODCTL & ~SYS_BODCR_BOD_VL_Msk) | SYS_BODCR_BOD_VL_3_7V)
| Enable Brown-out detector function. More...
#define | SYS_GET_BOD_INT_FLAG() (SYS->BODCTL & SYS_BODCR_BOD_INTF_Msk)
| Get Brown-out detector interrupt flag. More...
#define | SYS_GET_BOD_OUTPUT() (SYS->BODCTL & SYS_BODCR_BOD_OUT_Msk)
| Get Brown-out detector status. More...
#define | SYS_DISABLE_BOD_RST() (SYS->BODCTL &= ~SYS_BODCR_BOD_RSTEN_Msk)
| Enable Brown-out detector interrupt function. More...
#define | SYS_ENABLE_BOD_RST() (SYS->BODCTL |= SYS_BODCR_BOD_RSTEN_Msk)
| Enable Brown-out detector reset function. More...
#define | SYS_SET_BOD_LPM() (SYS->BODCTL |= SYS_BODCR_BOD_LPM_Msk)
| Set Brown-out detector function low power mode. More...
#define | SYS_SET_BOD_LEVEL(u32Level) (SYS->BODCTL = (SYS->BODCTL & ~SYS_BODCR_BOD_VL_Msk) | u32Level)
| Set Brown-out detector voltage level. More...
#define | SYS_IS_BOD_RST() (SYS->RSTSRC & SYS_RSTSRC_RSTS_BOD_Msk)
| Get reset source is from Brown-out detector reset. More...
#define | SYS_IS_CPU_RST() (SYS->RSTSRC & SYS_RSTSRC_RSTS_CPU_Msk)
| Get reset source is from CPU reset. More...
#define | SYS_IS_POR_RST() (SYS->RSTSRC & SYS_RSTSRC_RSTS_POR_Msk)
| Get reset source is from Power-on Reset. More...
#define | SYS_IS_RSTPIN_RST() (SYS->RSTSRC & SYS_RSTSRC_RSTS_RESET_Msk)
| Get reset source is from reset pin reset. More...
#define | SYS_IS_SYSTEM_RST() (SYS->RSTSRC & SYS_RSTSRC_RSTS_MCU_Msk)
| Get reset source is from system reset. More...
#define | SYS_IS_WDT_RST() (SYS->RSTSRC & SYS_RSTSRC_RSTS_WDT_Msk)
| Get reset source is from window watch dog reset. More...
#define | SYS_DISABLE_POR() (SYS->PORCR = 0x5AA5)
| Disable Power-on Reset function. More...
#define | SYS_ENABLE_POR() (SYS->PORCR = 0)
| Enable Power-on Reset function. More...
#define | SYS_CLEAR_RST_SOURCE(u32RstSrc) (SYS->RSTSRC = u32RstSrc )
| Clear reset source flag. More...

## Functions
void | SYS_ClearResetSrc (uint32_t u32Src)
| This function clear the selected system reset source. More...
uint32_t | SYS_GetBODStatus (void)
| This function get Brown-out detector output status. More...
uint32_t | SYS_GetResetSrc (void)
| This function get the system reset source register value. More...
uint32_t | SYS_IsRegLocked (void)
| This function check register write-protection bit setting. More...
void | SYS_LockReg (void)
| This function enable register write-protection function. More...
void | SYS_UnlockReg (void)
| This function disable register write-protection function. More...
uint32_t | SYS_ReadPDID (void)
| This function get product ID. More...
void | SYS_ResetChip (void)
| This function reset chip. More...
void | SYS_ResetCPU (void)
| This function reset CPU. More...
void | SYS_ResetModule (uint32_t u32ModuleIndex)
| This function reset selected modules. More...
void | SYS_EnableBOD (int32_t i32Mode, uint32_t u32BODLevel)
| This function configure BOD function. Configure BOD reset or interrupt mode and set Brown-out voltage level. Enable Brown-out function. More...
void | SYS_DisableBOD (void)
| This function disable BOD function. More...

## Detailed Description

Mini51 series SYS driver header file.

Version
  V1.00

Revision
  17

Date
  15/09/25 9:20a

Note
  SPDX-License-Identifier: Apache-2.0 Copyright (C) 2013 Nuvoton Technology Corp. All rights reserved.

Definition in file sys.h.