NUC029FAE_BSP V3.01.004
The Board Support Package for NUC029FAE MCU
Functions
Collaboration diagram for CLK Exported Functions:

Functions

void CLK_DisableCKO (void)
 This function disable frequency output function. More...
 
void CLK_EnableCKO (uint32_t u32ClkSrc, uint32_t u32ClkDiv, uint32_t u32ClkDivBy1En)
 This function enable frequency divider module clock, enable frequency divider clock function and configure frequency divider. More...
 
void CLK_PowerDown (void)
 This function let system enter to Power-down mode. More...
 
void CLK_Idle (void)
 This function let system enter to Idle mode. More...
 
uint32_t CLK_GetHXTFreq (void)
 This function get external high frequency crystal frequency. The frequency unit is Hz. More...
 
uint32_t CLK_GetLXTFreq (void)
 This function get external low frequency crystal frequency. The frequency unit is Hz. More...
 
uint32_t CLK_GetHCLKFreq (void)
 This function get HCLK frequency. The frequency unit is Hz. More...
 
uint32_t CLK_GetPCLKFreq (void)
 
uint32_t CLK_GetCPUFreq (void)
 This function get CPU frequency. The frequency unit is Hz. More...
 
uint32_t CLK_SetCoreClock (uint32_t u32Hclk)
 
void CLK_SetHCLK (uint32_t u32ClkSrc, uint32_t u32ClkDiv)
 This function set HCLK clock source and HCLK clock divider. More...
 
void CLK_SetModuleClock (uint32_t u32ModuleIdx, uint32_t u32ClkSrc, uint32_t u32ClkDiv)
 This function set selected module clock source and module clock divider. More...
 
void CLK_SetSysTickClockSrc (uint32_t u32ClkSrc)
 This function set SysTick clock source. More...
 
void CLK_EnableXtalRC (uint32_t u32ClkMask)
 This function enable clock source. More...
 
void CLK_DisableXtalRC (uint32_t u32ClkMask)
 This function disable clock source. More...
 
void CLK_EnableModuleClock (uint32_t u32ModuleIdx)
 This function enable module clock. More...
 
void CLK_DisableModuleClock (uint32_t u32ModuleIdx)
 This function disable module clock. More...
 
int32_t CLK_SysTickDelay (uint32_t us)
 This function execute delay function. More...
 
uint32_t CLK_WaitClockReady (uint32_t u32ClkMask)
 This function check selected clock source status. More...
 

Detailed Description

Function Documentation

◆ CLK_DisableCKO()

void CLK_DisableCKO ( void  )

This function disable frequency output function.

Returns
None

Definition at line 30 of file clk.c.

◆ CLK_DisableModuleClock()

void CLK_DisableModuleClock ( uint32_t  u32ModuleIdx)

This function disable module clock.

Parameters
u32ModuleIdxis module index
Returns
None

Definition at line 285 of file clk.c.

◆ CLK_DisableXtalRC()

void CLK_DisableXtalRC ( uint32_t  u32ClkMask)

This function disable clock source.

Parameters
u32ClkMaskis clock source mask. Including :
  • CLK_PWRCON_XTLCLK_EN_Msk,
  • CLK_PWRCON_LIRC_EN_Msk,
  • CLK_PWRCON_HIRC_EN_Msk,
Returns
None

Definition at line 241 of file clk.c.

◆ CLK_EnableCKO()

void CLK_EnableCKO ( uint32_t  u32ClkSrc,
uint32_t  u32ClkDiv,
uint32_t  u32ClkDivBy1En 
)

This function enable frequency divider module clock, enable frequency divider clock function and configure frequency divider.

Parameters
u32ClkSrcis frequency divider function clock source
u32ClkDivSet the clock divider to CKO. 0 <= u32ClkDiv <= 15
u32ClkDivBy1Enis frequency divided by one enable.
Returns
None

Output selected clock to CKO. The output clock frequency is divided by u32ClkDiv. The formula is: CKO frequency = (Clock source frequency) / 2^(u32ClkDiv + 1) This function is just used to set CKO clock. User must enable I/O for CKO clock output pin by themselves.

Definition at line 53 of file clk.c.

◆ CLK_EnableModuleClock()

void CLK_EnableModuleClock ( uint32_t  u32ModuleIdx)

This function enable module clock.

Parameters
u32ModuleIdxis module index. Including :
Returns
None

Definition at line 263 of file clk.c.

◆ CLK_EnableXtalRC()

void CLK_EnableXtalRC ( uint32_t  u32ClkMask)

This function enable clock source.

Parameters
u32ClkMaskis clock source mask. Including :
  • CLK_PWRCON_HXT or CLK_PWRCON_LXT,
  • CLK_PWRCON_LIRC_EN_Msk
  • CLK_PWRCON_HIRC_EN_Msk
Returns
None

Definition at line 228 of file clk.c.

◆ CLK_GetCPUFreq()

uint32_t CLK_GetCPUFreq ( void  )

This function get CPU frequency. The frequency unit is Hz.

Returns
CPU frequency

Definition at line 125 of file clk.c.

Here is the call graph for this function:

◆ CLK_GetHCLKFreq()

uint32_t CLK_GetHCLKFreq ( void  )

This function get HCLK frequency. The frequency unit is Hz.

Returns
HCLK frequency

Definition at line 114 of file clk.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CLK_GetHXTFreq()

uint32_t CLK_GetHXTFreq ( void  )

This function get external high frequency crystal frequency. The frequency unit is Hz.

Returns
None

Definition at line 90 of file clk.c.

Here is the caller graph for this function:

◆ CLK_GetLXTFreq()

uint32_t CLK_GetLXTFreq ( void  )

This function get external low frequency crystal frequency. The frequency unit is Hz.

Returns
LXT frequency

Definition at line 102 of file clk.c.

Here is the caller graph for this function:

◆ CLK_GetPCLKFreq()

uint32_t CLK_GetPCLKFreq ( void  )

◆ CLK_Idle()

void CLK_Idle ( void  )

This function let system enter to Idle mode.

Returns
None

Definition at line 80 of file clk.c.

◆ CLK_PowerDown()

void CLK_PowerDown ( void  )

This function let system enter to Power-down mode.

Returns
None

Definition at line 69 of file clk.c.

◆ CLK_SetCoreClock()

uint32_t CLK_SetCoreClock ( uint32_t  u32Hclk)

◆ CLK_SetHCLK()

void CLK_SetHCLK ( uint32_t  u32ClkSrc,
uint32_t  u32ClkDiv 
)

This function set HCLK clock source and HCLK clock divider.

Parameters
u32ClkSrcis HCLK clock source. Including :
u32ClkDivis HCLK clock divider. Including :
Returns
None

Definition at line 141 of file clk.c.

◆ CLK_SetModuleClock()

void CLK_SetModuleClock ( uint32_t  u32ModuleIdx,
uint32_t  u32ClkSrc,
uint32_t  u32ClkDiv 
)

◆ CLK_SetSysTickClockSrc()

void CLK_SetSysTickClockSrc ( uint32_t  u32ClkSrc)

This function set SysTick clock source.

Parameters
u32ClkSrcis module clock source. Including
Returns
None

Definition at line 215 of file clk.c.

◆ CLK_SysTickDelay()

int32_t CLK_SysTickDelay ( uint32_t  us)

This function execute delay function.

Parameters
usDelay time. The Max value is 2^24 / CPU Clock(MHz). Ex: 50MHz => 335544us, 48MHz => 349525us, 28MHz => 699050us ...
Returns
None

Use the SysTick to generate the delay time and the UNIT is in us. The SysTick clock source is from HCLK, i.e the same as system core clock.

Definition at line 298 of file clk.c.

◆ CLK_WaitClockReady()

uint32_t CLK_WaitClockReady ( uint32_t  u32ClkMask)

This function check selected clock source status.

Parameters
u32ClkMaskis selected clock source. Including
  • CLK_CLKSTATUS_CLK_SW_FAIL_Msk
  • CLK_CLKSTATUS_HIRC_STB_Msk
  • CLK_CLKSTATUS_LIRC_STB_Msk
  • CLK_CLKSTATUS_XTL_STB_Msk
Returns
0 clock is not stable 1 clock is stable

To wait for clock ready by specified CLKSTATUS bit or timeout (~5ms)

Definition at line 328 of file clk.c.