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.