33 CLK->APBCLK &= (~CLK_APBCLK_FDIV_EN_Msk);
53void CLK_EnableCKO(uint32_t u32ClkSrc, uint32_t u32ClkDiv, uint32_t u32ClkDivBy1En)
62 CLK->CLKSEL2 = (
CLK->CLKSEL2 & (~CLK_CLKSEL2_FRQDIV_S_Msk)) | u32ClkSrc;
71 SCB->SCR = SCB_SCR_SLEEPDEEP_Msk;
143 CLK->CLKSEL0 = (
CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLK_S_Msk) | u32ClkSrc;
144 CLK->CLKDIV = (
CLK->CLKDIV & ~CLK_CLKDIV_HCLK_N_Msk) | u32ClkDiv;
187 uint32_t u32tmp=0,u32sel=0,u32div=0;
192 u32tmp = *(
volatile uint32_t *)(u32sel);
194 *(
volatile uint32_t *)(u32sel) = u32tmp;
200 u32tmp = *(
volatile uint32_t *)(u32div);
202 *(
volatile uint32_t *)(u32div) = u32tmp;
217 CLK->CLKSEL0 = (
CLK->CLKSEL0 & ~CLK_CLKSEL0_STCLK_S_Msk) | u32ClkSrc;
237 SysTick->CTRL |= SysTick_CTRL_CLKSOURCE_Msk;
240 SysTick->CTRL &= ~SysTick_CTRL_CLKSOURCE_Msk;
241 CLK->CLKSEL0 = (
CLK->CLKSEL0 & ~CLK_CLKSEL0_STCLK_S_Msk) | u32ClkSrc;
243 SysTick->LOAD = u32Count;
245 SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
268 CLK->PWRCON |=u32ClkMask;
281 CLK->PWRCON &=~u32ClkMask;
339 SysTick->VAL = (0x00);
340 SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk;
343 while((SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk) == 0);
362 int32_t i32TimeOutCnt;
364 i32TimeOutCnt =
__HSI / 200;
366 while((
CLK->CLKSTATUS & u32ClkMask) != u32ClkMask)
368 if(i32TimeOutCnt-- <= 0)
Mini51 series peripheral access layer header file. This file contains all the peripheral register's d...
#define MODULE_CLKSEL_Msk(x)
#define CLK_CLKSEL0_STCLK_S_HCLK
#define MODULE_CLKSEL_Pos(x)
#define MODULE_CLKDIV_Pos(x)
#define MODULE_IP_EN_Pos(x)
#define MODULE_CLKDIV_Msk(x)
#define CLK_PWRCON_XTL12M
void CLK_Idle(void)
This function let system enter to Idle mode.
void CLK_SetSysTickClockSrc(uint32_t u32ClkSrc)
This function set SysTick clock source.
uint32_t CLK_GetHCLKFreq(void)
This function get HCLK frequency. The frequency unit is Hz.
void CLK_DisableCKO(void)
This function disable frequency output function.
void CLK_EnableModuleClock(uint32_t u32ModuleIdx)
This function enable module clock.
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 conf...
void CLK_DisableModuleClock(uint32_t u32ModuleIdx)
This function disable module clock.
void CLK_SysTickDelay(uint32_t us)
This function execute delay function.
uint32_t CLK_WaitClockReady(uint32_t u32ClkMask)
This function check selected clock source status.
uint32_t CLK_GetLXTFreq(void)
This function get external low frequency crystal frequency. The frequency unit is Hz.
void CLK_PowerDown(void)
This function let system enter to Power-down mode.
uint32_t CLK_GetCPUFreq(void)
This function get CPU frequency. The frequency unit is Hz.
void CLK_SetHCLK(uint32_t u32ClkSrc, uint32_t u32ClkDiv)
This function set HCLK clock source and HCLK clock divider.
void CLK_DisableXtalRC(uint32_t u32ClkMask)
This function disable clock source.
void CLK_DisableSysTick(void)
Disable System Tick counter.
void CLK_SetModuleClock(uint32_t u32ModuleIdx, uint32_t u32ClkSrc, uint32_t u32ClkDiv)
This function set selected module clock source and module clock divider.
void CLK_EnableXtalRC(uint32_t u32ClkMask)
This function enable clock source.
void CLK_EnableSysTick(uint32_t u32ClkSrc, uint32_t u32Count)
Enable System Tick counter.
uint32_t CLK_GetHXTFreq(void)
This function get external high frequency crystal frequency. The frequency unit is Hz.
#define CLK_PWRCON_PD_WU_STS_Msk
#define CLK_FRQDIV_DIVIDER1_Pos
#define CLK_PWRCON_PWR_DOWN_EN_Msk
#define CLK_APBCLK_FDIV_EN_Msk
#define CLK_FRQDIV_DIVIDER_EN_Msk
#define CLK
Pointer to CLK register structure.
void SystemCoreClockUpdate(void)
Updates the SystemCoreClock with current core Clock retrieved from CPU registers.