![]() |
M471M/R1/S BSP V3.01.000
The Board Support Package for M4521
|
Functions | |
__STATIC_INLINE uint32_t | CLK_GetPLLClockFreq (void) |
Get PLL clock frequency. More... | |
__STATIC_INLINE uint32_t | CLK_SysTickDelay (uint32_t us) |
This function execute delay function. More... | |
void | CLK_DisableCKO (void) |
Disable clock divider output function. More... | |
void | CLK_EnableCKO (uint32_t u32ClkSrc, uint32_t u32ClkDiv, uint32_t u32ClkDivBy1En) |
This function enable clock divider output module clock, enable clock divider output function and set frequency selection. More... | |
void | CLK_PowerDown (void) |
Enter to Power-down mode. More... | |
void | CLK_Idle (void) |
Enter to Idle mode. More... | |
uint32_t | CLK_GetHXTFreq (void) |
Get external high speed crystal clock frequency. More... | |
uint32_t | CLK_GetLXTFreq (void) |
Get external low speed crystal clock frequency. More... | |
uint32_t | CLK_GetHCLKFreq (void) |
Get HCLK frequency. More... | |
uint32_t | CLK_GetPCLK0Freq (void) |
Get PCLK0 frequency. More... | |
uint32_t | CLK_GetPCLK1Freq (void) |
Get PCLK1 frequency. More... | |
uint32_t | CLK_GetCPUFreq (void) |
Get CPU frequency. More... | |
uint32_t | CLK_SetCoreClock (uint32_t u32Hclk) |
Set HCLK frequency. More... | |
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) |
Set SysTick clock source. More... | |
void | CLK_EnableXtalRC (uint32_t u32ClkMask) |
Enable clock source. More... | |
void | CLK_DisableXtalRC (uint32_t u32ClkMask) |
Disable clock source. More... | |
void | CLK_EnableModuleClock (uint32_t u32ModuleIdx) |
Enable module clock. More... | |
void | CLK_DisableModuleClock (uint32_t u32ModuleIdx) |
Disable module clock. More... | |
uint32_t | CLK_EnablePLL (uint32_t u32PllClkSrc, uint32_t u32PllFreq) |
Set PLL frequency. More... | |
void | CLK_DisablePLL (void) |
Disable PLL. More... | |
uint32_t | CLK_WaitClockReady (uint32_t u32ClkMask) |
This function check selected clock source status. More... | |
void | CLK_EnableSysTick (uint32_t u32ClkSrc, uint32_t u32Count) |
Enable System Tick counter. More... | |
void | CLK_DisableSysTick (void) |
Disable System Tick counter. More... | |
void CLK_DisableCKO | ( | void | ) |
void CLK_DisableModuleClock | ( | uint32_t | u32ModuleIdx | ) |
void CLK_DisablePLL | ( | void | ) |
void CLK_DisableSysTick | ( | void | ) |
void CLK_DisableXtalRC | ( | uint32_t | u32ClkMask | ) |
Disable clock source.
[in] | u32ClkMask | is clock source mask. Including : |
This function disable clock source.
The register write-protection function should be disabled before using this function.
void CLK_EnableCKO | ( | uint32_t | u32ClkSrc, |
uint32_t | u32ClkDiv, | ||
uint32_t | u32ClkDivBy1En | ||
) |
This function enable clock divider output module clock, enable clock divider output function and set frequency selection.
[in] | u32ClkSrc | is frequency divider function clock source. Including : |
[in] | u32ClkDiv | is divider output frequency selection. It could be 0~15. |
[in] | u32ClkDivBy1En | is clock divided by one enabled. |
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 52 of file clk.c.
void CLK_EnableModuleClock | ( | uint32_t | u32ModuleIdx | ) |
uint32_t CLK_EnablePLL | ( | uint32_t | u32PllClkSrc, |
uint32_t | u32PllFreq | ||
) |
Set PLL frequency.
[in] | u32PllClkSrc | is PLL clock source. Including : |
[in] | u32PllFreq | is PLL frequency. |
This function is used to configure PLLCTL register to set specified PLL frequency.
The register write-protection function should be disabled before using this function.
Definition at line 519 of file clk.c.
void CLK_EnableSysTick | ( | uint32_t | u32ClkSrc, |
uint32_t | u32Count | ||
) |
Enable System Tick counter.
[in] | u32ClkSrc | is System Tick clock source. Including: |
[in] | u32Count | is System Tick reload value. It could be 0~0xFFFFFF. |
This function set System Tick clock source, reload value, enable System Tick counter and interrupt.
The register write-protection function should be disabled before using this function.
void CLK_EnableXtalRC | ( | uint32_t | u32ClkMask | ) |
Enable clock source.
[in] | u32ClkMask | is clock source mask. Including : |
This function enable clock source.
The register write-protection function should be disabled before using this function.
uint32_t CLK_GetCPUFreq | ( | void | ) |
uint32_t CLK_GetHCLKFreq | ( | void | ) |
uint32_t CLK_GetHXTFreq | ( | void | ) |
uint32_t CLK_GetLXTFreq | ( | void | ) |
uint32_t CLK_GetPCLK0Freq | ( | void | ) |
uint32_t CLK_GetPCLK1Freq | ( | void | ) |
__STATIC_INLINE uint32_t CLK_GetPLLClockFreq | ( | void | ) |
void CLK_Idle | ( | void | ) |
void CLK_PowerDown | ( | void | ) |
uint32_t CLK_SetCoreClock | ( | uint32_t | u32Hclk | ) |
Set HCLK frequency.
[in] | u32Hclk | is HCLK frequency. The range of u32Hclk is 25 MHz ~ 72 MHz. |
This function is used to set HCLK frequency. The frequency unit is Hz.
It would configure PLL frequency to 50MHz ~ 144MHz, set HCLK clock divider as 2 and switch HCLK clock source to PLL.
The register write-protection function should be disabled before using this function.
Definition at line 198 of file clk.c.
void CLK_SetHCLK | ( | uint32_t | u32ClkSrc, |
uint32_t | u32ClkDiv | ||
) |
This function set HCLK clock source and HCLK clock divider.
[in] | u32ClkSrc | is HCLK clock source. Including : |
[in] | u32ClkDiv | is HCLK clock divider. Including : |
This function set HCLK clock source and HCLK clock divider.
The register write-protection function should be disabled before using this function.
Definition at line 258 of file clk.c.
void CLK_SetModuleClock | ( | uint32_t | u32ModuleIdx, |
uint32_t | u32ClkSrc, | ||
uint32_t | u32ClkDiv | ||
) |
This function set selected module clock source and module clock divider.
[in] | u32ModuleIdx | is module index. |
[in] | u32ClkSrc | is module clock source. |
[in] | u32ClkDiv | is module clock divider. |
Valid parameter combinations listed in following table:
Definition at line 364 of file clk.c.
void CLK_SetSysTickClockSrc | ( | uint32_t | u32ClkSrc | ) |
Set SysTick clock source.
[in] | u32ClkSrc | is module clock source. Including: |
This function set SysTick clock source.
The register write-protection function should be disabled before using this function.
__STATIC_INLINE uint32_t CLK_SysTickDelay | ( | uint32_t | us | ) |
This function execute delay function.
us | Delay time. The Max value is 2^24 / CPU Clock(MHz). Ex: 72MHz => 233016us, 50MHz => 335544us, 48MHz => 349525us, 28MHz => 699050us ... |
0 | clock is not stable |
1 | clock is stable |
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 366 of file clk.h.
uint32_t CLK_WaitClockReady | ( | uint32_t | u32ClkMask | ) |
This function check selected clock source status.
[in] | u32ClkMask | is selected clock source. Including : |
0 | clock is not stable |
1 | clock is stable |
To wait for clock ready by specified clock source stable flag or timeout (~300ms)
Definition at line 661 of file clk.c.