| MINI58_BSP V3.01.003 The Board Support Package for Mini58 Series MCU

Macros | Functions
SYS Exported Functions
Mini58 Device Driver » SYS Driver » SYS Exported Constants
Collaboration diagram for SYS Exported Functions:

## Macros
#define | SYS_CLEAR_BOD_INT_FLAG() (SYS->BODCTL |= SYS_BODCTL_BODIF_Msk)
| Clear Brown-out detector interrupt flag. More...
#define | SYS_CLEAR_BOD_LPM() (SYS->BODCTL &= ~SYS_BODCTL_BODLPM_Msk)
| Set Brown-out detector function to normal mode. More...
#define | SYS_DISABLE_BOD() (SYS->BODCTL = (SYS->BODCTL &~(SYS_BODCTL_BODVL_Msk|SYS_BODCTL_BODEN_Msk))|SYS_BODCTL_BODVL_Msk)
| Disable Brown-out detector function. More...
#define | SYS_ENABLE_BOD() (SYS->BODCTL = (SYS->BODCTL | SYS_BODCTL_BODEN_Msk))
| Enable Brown-out detector function. More...
#define | SYS_GET_BOD_INT_FLAG() (SYS->BODCTL & SYS_BODCTL_BODIF_Msk)
| Get Brown-out detector interrupt flag. More...
#define | SYS_GET_BOD_OUTPUT() (SYS->BODCTL & SYS_BODCTL_BODOUT_Msk)
| Get Brown-out detector status. More...
#define | SYS_DISABLE_BOD_RST() (SYS->BODCTL &= ~SYS_BODCTL_BODRSTEN_Msk)
| Enable Brown-out detector interrupt function. More...
#define | SYS_ENABLE_BOD_RST() (SYS->BODCTL |= SYS_BODCTL_BODRSTEN_Msk)
| Enable Brown-out detector reset function. More...
#define | SYS_SET_BOD_LPM() (SYS->BODCTL |= SYS_BODCTL_BODLPM_Msk)
| Set Brown-out detector function low power mode. More...
#define | SYS_SET_BOD_LEVEL(u32Level) (SYS->BODCTL = (SYS->BODCTL & ~SYS_BODCTL_BODVL_Msk) | (u32Level))
| Set Brown-out detector voltage level. More...
#define | SYS_IS_BOD_RST() (SYS->RSTSTS & SYS_RSTSTS_BODRF_Msk)
| Get reset source is from Brown-out detector reset. More...
#define | SYS_IS_CPU_RST() (SYS->RSTSTS & SYS_RSTSTS_CPURF_Msk)
| Get reset source is from CPU reset. More...
#define | SYS_IS_POR_RST() (SYS->RSTSTS & SYS_RSTSTS_PORF_Msk)
| Get reset source is from Power-on Reset. More...
#define | SYS_IS_RSTPIN_RST() (SYS->RSTSTS & SYS_RSTSTS_PINRF_Msk)
| Get reset source is from reset pin reset. More...
#define | SYS_IS_SYSTEM_RST() (SYS->RSTSTS & SYS_RSTSTS_SYSRF_Msk)
| Get reset source is from system reset. More...
#define | SYS_IS_WDT_RST() (SYS->RSTSTS & SYS_RSTSTS_WDTRF_Msk)
| Get reset source is from window watch dog reset. More...
#define | SYS_DISABLE_POR() (SYS->PORCTL = 0x5AA5)
| Disable Power-on Reset function. More...
#define | SYS_ENABLE_POR() (SYS->PORCTL = 0)
| Enable Power-on Reset function. More...
#define | SYS_CLEAR_RST_SOURCE(u32RstSrc) ((SYS->RSTSTS) = (u32RstSrc) )
| Clear reset source flag. More...

## Functions
__STATIC_INLINE void | SYS_UnlockReg (void)
| Disable register write-protection function. More...
__STATIC_INLINE void | SYS_LockReg (void)
| Enable register write-protection function. More...
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...
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

## Macro Definition Documentation

## ◆ SYS_CLEAR_BOD_INT_FLAG

#define SYS_CLEAR_BOD_INT_FLAG | ( |  | ) | (SYS->BODCTL |= SYS_BODCTL_BODIF_Msk)

Clear Brown-out detector interrupt flag.

Parameters

  None |

Returns
  None

This macro clear Brown-out detector interrupt flag.

Definition at line 236 of file sys.h.

## ◆ SYS_CLEAR_BOD_LPM

#define SYS_CLEAR_BOD_LPM | ( |  | ) | (SYS->BODCTL &= ~SYS_BODCTL_BODLPM_Msk)

Set Brown-out detector function to normal mode.

Parameters

  None |

Returns
  None

This macro set Brown-out detector to normal mode. The register write-protection function should be disabled before using this macro.

Definition at line 245 of file sys.h.

## ◆ SYS_CLEAR_RST_SOURCE

#define SYS_CLEAR_RST_SOURCE | ( |  | u32RstSrc | ) | ((SYS->RSTSTS) = (u32RstSrc) )

Clear reset source flag.

Parameters

  [in] | u32RstSrc | is reset source. Including : SYS_RSTSTS_PORF_Msk SYS_RSTSTS_PINRF_Msk SYS_RSTSTS_WDTRF_Msk SYS_RSTSTS_BODRF_Msk SYS_RSTSTS_SYSRF_Msk SYS_RSTSTS_CPURF_Msk SYS_RSTSTS_CPULKRF_Msk

Returns
  None

This macro clear reset source flag.

Definition at line 409 of file sys.h.

## ◆ SYS_DISABLE_BOD

#define SYS_DISABLE_BOD | ( |  | ) | (SYS->BODCTL = (SYS->BODCTL &~(SYS_BODCTL_BODVL_Msk|SYS_BODCTL_BODEN_Msk))|SYS_BODCTL_BODVL_Msk)

Disable Brown-out detector function.

Parameters

  None |

Returns
  None

This macro disable Brown-out detector function. The register write-protection function should be disabled before using this macro.

Definition at line 254 of file sys.h.

## ◆ SYS_DISABLE_BOD_RST

#define SYS_DISABLE_BOD_RST | ( |  | ) | (SYS->BODCTL &= ~SYS_BODCTL_BODRSTEN_Msk)

Enable Brown-out detector interrupt function.

Parameters

  None |

Returns
  None

This macro enable Brown-out detector interrupt function. The register write-protection function should be disabled before using this macro.

Definition at line 291 of file sys.h.

## ◆ SYS_DISABLE_POR

#define SYS_DISABLE_POR | ( |  | ) | (SYS->PORCTL = 0x5AA5)

Disable Power-on Reset function.

Parameters

  None |

Returns
  None

This macro disable Power-on Reset function. The register write-protection function should be disabled before using this macro.

Definition at line 385 of file sys.h.

## ◆ SYS_ENABLE_BOD

#define SYS_ENABLE_BOD | ( |  | ) | (SYS->BODCTL = (SYS->BODCTL | SYS_BODCTL_BODEN_Msk))

Enable Brown-out detector function.

Parameters

  None |

Returns
  None

This macro enable Brown-out detector function. The register write-protection function should be disabled before using this macro.

Definition at line 263 of file sys.h.

## ◆ SYS_ENABLE_BOD_RST

#define SYS_ENABLE_BOD_RST | ( |  | ) | (SYS->BODCTL |= SYS_BODCTL_BODRSTEN_Msk)

Enable Brown-out detector reset function.

Parameters

  None |

Returns
  None

This macro enable Brown-out detect reset function. The register write-protection function should be disabled before using this macro.

Definition at line 300 of file sys.h.

## ◆ SYS_ENABLE_POR

#define SYS_ENABLE_POR | ( |  | ) | (SYS->PORCTL = 0)

Enable Power-on Reset function.

Parameters

  None |

Returns
  None

This macro enable Power-on Reset function. The register write-protection function should be disabled before using this macro.

Definition at line 394 of file sys.h.

## ◆ SYS_GET_BOD_INT_FLAG

#define SYS_GET_BOD_INT_FLAG | ( |  | ) | (SYS->BODCTL & SYS_BODCTL_BODIF_Msk)

Get Brown-out detector interrupt flag.

Parameters

  None |

Return values

  0 | Brown-out detect interrupt flag is not set.
  >=1 | Brown-out detect interrupt flag is set.

This macro get Brown-out detector interrupt flag.

Definition at line 272 of file sys.h.

## ◆ SYS_GET_BOD_OUTPUT

#define SYS_GET_BOD_OUTPUT | ( |  | ) | (SYS->BODCTL & SYS_BODCTL_BODOUT_Msk)

Get Brown-out detector status.

Parameters

  None |

Return values

  0 | System voltage is higher than BOD threshold voltage setting or BOD function is disabled.
  >=1 | System voltage is lower than BOD threshold voltage setting.

This macro get Brown-out detector output status. If the BOD function is disabled, this function always return 0.

Definition at line 282 of file sys.h.

## ◆ SYS_IS_BOD_RST

#define SYS_IS_BOD_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_BODRF_Msk)

Get reset source is from Brown-out detector reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from Brown-out detector reset
  >=1 | Previous reset source is from Brown-out detector reset

This macro get previous reset source is from Brown-out detect reset or not.

Definition at line 331 of file sys.h.

## ◆ SYS_IS_CPU_RST

#define SYS_IS_CPU_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_CPURF_Msk)

Get reset source is from CPU reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from CPU reset
  >=1 | Previous reset source is from CPU reset

This macro get previous reset source is from CPU reset.

Definition at line 340 of file sys.h.

## ◆ SYS_IS_POR_RST

#define SYS_IS_POR_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_PORF_Msk)

Get reset source is from Power-on Reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from Power-on Reset
  >=1 | Previous reset source is from Power-on Reset

This macro get previous reset source is from Power-on Reset.

Definition at line 349 of file sys.h.

## ◆ SYS_IS_RSTPIN_RST

#define SYS_IS_RSTPIN_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_PINRF_Msk)

Get reset source is from reset pin reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from reset pin reset
  >=1 | Previous reset source is from reset pin reset

This macro get previous reset source is from reset pin reset.

Definition at line 358 of file sys.h.

## ◆ SYS_IS_SYSTEM_RST

#define SYS_IS_SYSTEM_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_SYSRF_Msk)

Get reset source is from system reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from system reset
  >=1 | Previous reset source is from system reset

This macro get previous reset source is from system reset.

Definition at line 367 of file sys.h.

## ◆ SYS_IS_WDT_RST

#define SYS_IS_WDT_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_WDTRF_Msk)

Get reset source is from window watch dog reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from window watch dog reset
  >=1 | Previous reset source is from window watch dog reset

This macro get previous reset source is from window watch dog reset.

Definition at line 376 of file sys.h.

## ◆ SYS_SET_BOD_LEVEL

#define SYS_SET_BOD_LEVEL | ( |  | u32Level | ) | (SYS->BODCTL = (SYS->BODCTL & ~SYS_BODCTL_BODVL_Msk) | (u32Level))

Set Brown-out detector voltage level.

Parameters

  [in] | u32Level | is Brown-out voltage level. Including : SYS_BODCTL_BODVL_4_4V SYS_BODCTL_BODVL_3_7V SYS_BODCTL_BODVL_2_7V SYS_BODCTL_BODVL_2_2V

Returns
  None

This macro set Brown-out detector voltage level. The write-protection function should be disabled before using this macro.

Definition at line 322 of file sys.h.

## ◆ SYS_SET_BOD_LPM

#define SYS_SET_BOD_LPM | ( |  | ) | (SYS->BODCTL |= SYS_BODCTL_BODLPM_Msk)

Set Brown-out detector function low power mode.

Parameters

  None |

Returns
  None

This macro set Brown-out detector to low power mode. The register write-protection function should be disabled before using this macro.

Definition at line 309 of file sys.h.

## Function Documentation

## ◆ SYS_ClearResetSrc()

void SYS_ClearResetSrc | ( | uint32_t | u32Src | ) |

This function clear the selected system reset source.

Parameters

  [in] | u32Src | is system reset source

Returns
  None

Definition at line 31 of file sys.c.

## ◆ SYS_DisableBOD()

void SYS_DisableBOD | ( | void |  | ) |

This function disable BOD function.

Returns
  None

Definition at line 140 of file sys.c.

## ◆ SYS_EnableBOD()

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.

Parameters

  [in] | i32Mode | is reset or interrupt mode. Including : SYS_BODCTL_BOD_RST_EN SYS_BODCTL_BOD_INTERRUPT_EN
  [in] | u32BODLevel | is Brown-out voltage level. Including : SYS_BODCTL_BODVL_4_4V SYS_BODCTL_BODVL_3_7V SYS_BODCTL_BODVL_2_7V SYS_BODCTL_BODVL_2_2V

Returns
  None

Definition at line 129 of file sys.c.

## ◆ SYS_GetBODStatus()

uint32_t SYS_GetBODStatus | ( | void |  | ) |

This function get Brown-out detector output status.

Returns
  0: System voltage is higher than BOD_VL setting or BOD_EN is 0. 1: System voltage is lower than BOD_VL setting. Note : If the BOD_EN is 0, this function always return 0.

Definition at line 42 of file sys.c.

## ◆ SYS_GetResetSrc()

uint32_t SYS_GetResetSrc | ( | void |  | ) |

This function get the system reset source register value.

Returns
  Reset source

Definition at line 51 of file sys.c.

## ◆ SYS_IsRegLocked()

uint32_t SYS_IsRegLocked | ( | void |  | ) |

This function check register write-protection bit setting.

Returns
  0: Write-protection function is disabled. 1: Write-protection function is enabled.

Definition at line 61 of file sys.c.

## ◆ SYS_LockReg()

__STATIC_INLINE void SYS_LockReg | ( | void |  | ) |

Enable register write-protection function.

Parameters

  None |

Returns
  None

This function is used to enable register write-protection function. To lock the protected register to forbid write access.

Definition at line 437 of file sys.h.

## ◆ SYS_ReadPDID()

uint32_t SYS_ReadPDID | ( | void |  | ) |

This function get product ID.

Returns
  Product ID

Definition at line 70 of file sys.c.

## ◆ SYS_ResetChip()

void SYS_ResetChip | ( | void |  | ) |

This function reset chip.

Returns
  None

Definition at line 79 of file sys.c.

## ◆ SYS_ResetCPU()

void SYS_ResetCPU | ( | void |  | ) |

This function reset CPU.

Returns
  None

Definition at line 88 of file sys.c.

## ◆ SYS_ResetModule()

void SYS_ResetModule | ( | uint32_t | u32ModuleIndex | ) |

This function reset selected modules.

Parameters

  [in] | u32ModuleIndex | is module index. Including : ADC_RST ACMP_RST PWM0_RST UART0_RST UART1_RST SPI0_RST I2C0_RST I2C1_RST TMR1_RST TMR0_RST GPIO_RST

Returns
  None

Definition at line 109 of file sys.c.

## ◆ SYS_UnlockReg()

__STATIC_INLINE void SYS_UnlockReg | ( | void |  | ) |

Disable register write-protection function.

Parameters

  None |

Returns
  None

This function disable register write-protection function. To unlock the protected register to allow write access.

Definition at line 419 of file sys.h.