📄 rccu.h
字号:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
RCCU_RCLK_CLOCKS_T RCCU_RCLKObtain(void);
/*********************************************************************************************************
;** 函数名称: RCCU_MCLKConfig
;** 功能描述: Selects the division factor for RCLK to obtain the MCLK clock for the CPU
;**
;** 参 数: new_clock:RCCU_DEFAULT, RCCU_RCLK_2, RCCU_RCLK_4, RCCU_RCLK_8
;**
;** 返 回 值: 无
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
inline void RCCU_MCLKConfig(RCCU_CLOCK_DIV_T new_clock)
{
PCU_MDIVR = (PCU_MDIVR & ~RCCU_FACT_MASK) | new_clock;
}
/*********************************************************************************************************
;** 函数名称: RCCU_FCLKConfig
;** 功能描述: Selects the division factor for RCLK to obtain the FCLK clock for the APB1 fast peripherals (PCLK1).
;**
;** 参 数: new_clock:RCCU_DEFAULT, RCCU_RCLK_2, RCCU_RCLK_4, RCCU_RCLK_8
;**
;** 返 回 值: 无
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
inline void RCCU_FCLKConfig(RCCU_CLOCK_DIV_T new_clock)
{
PCU_PDIVR = (PCU_PDIVR & ~RCCU_FACT1_MASK) | new_clock;
}
/*********************************************************************************************************
;** 函数名称: RCCU_PCLKConfig
;** 功能描述: Selects the division factor for RCLK to obtain the PCLK clock for the APB2 peripherals (PCLK2).
;**
;** 参 数: new_clock:RCCU_DEFAULT, RCCU_RCLK_2, RCCU_RCLK_4, RCCU_RCLK_8
;**
;** 返 回 值: 无
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
inline void RCCU_PCLKConfig (RCCU_CLOCK_DIV_T new_clock)
{
PCU_PDIVR =(PCU_PDIVR & ~RCCU_FACT2_MASK)|(new_clock << RCCU_FACT2_INDEX);
}
/*********************************************************************************************************
;** 函数名称: RCCU_PLL2Config
;** 功能描述: 配置 PLL2的 div 和 mul 系数
;**
;** 参 数: new_mul:(RCCU_MUL_12, RCCU_MUL_16, RCCU_MUL_20, RCCU_MUL_28)
;** new_div:(RCCU_DIV_1, RCCU_DIV_2, RCCU_DIV_3, RCCU_DIV_4, RCCU_DIV_5, RCCU_DIV_6, RCCU_DIV_7)
;**
;** 返 回 值: 无
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void RCCU_PLL2Config (RCCU_PLL_MUL_T new_mul, RCCU_PLL_DIV_T new_div);
/*********************************************************************************************************
;** 函数名称: RCCU_USBCLKConfig
;** 功能描述: Selects the USB source clock
;**
;** 参 数: new_clock:RCCU_PLL2_OUTPUT, RCCU_USBCK
;**
;** 返 回 值: 无
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
inline void RCCU_USBCLKConfig (RCCU_USB_CLOCKS_T new_clock)
{
PCU_PLL2CR = (PCU_PLL2CR & ~RCCU_USBEN_MASK)|(new_clock << RCCU_USBEN_INDEX);
}
/*********************************************************************************************************
;** 函数名称: RCCU_USBCLKObtain
;** 功能描述: 获取USB选择的时钟源
;**
;** 参 数: 无
;**
;** 返 回 值: RCCU_USBCK RCCU_PLL2_OUTPUT
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
RCCU_USB_CLOCKS_T RCCU_USBCLKObtain (void);
/*********************************************************************************************************
;** 函数名称: RCCU_AnyClockObtain
;** 功能描述: 获得任何内部时钟频率
;**
;** 参 数: new_clock:(RCCU_CLK2, RCCU_RCLK, RCCU_MCLK, RCCU_PCLK, RCCU_FCLK)
;**
;** 返 回 值: 无
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
UWORD32 RCCU_AnyClockObtain(RCCU_ClOCKS_T internal_clk);
/*********************************************************************************************************
;** 函数名称: RCCU_ITConfig
;** 功能描述: Configures the RCCU interrupts
;**
;** 参 数: RCCU_it:RCCU_CK2_16_IT, RCCU_CKAF_IT RCCU_PLL1_LOCK_IT
;** new_status: EANBLE or DISABLE
;**
;** 返 回 值: 无
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
inline void RCCU_ITConfig (RCCU_INTERRUPTS_T RCCU_it, CONFIG_STATUS_T new_status)
{
if (new_status == ENABLE)
RCCU_CCR |= RCCU_it;
else
RCCU_CCR &= ~RCCU_it;
}
/*********************************************************************************************************
;** 函数名称: RCCU_FlagBitObtain
;** 功能描述: Checks the RCCU clock flag register status
;**
;** 参 数: RCCU Flags : RCCU_CK2_16, RCCU_CKAF, RCCU_PLL1_LOCK
;**
;** 返 回 值: SET or RESET
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
inline FLAG_STATUS_T RCCU_FlagBitObtain (RCCU_FLAGS_T RCCU_flag )
{
return (RCCU_CFR & RCCU_flag) == 0 ? RESET : SET;
}
/*********************************************************************************************************
;** 函数名称: RCCU_FlagClear
;** 功能描述: Clears a specified flag in the RCCU registers
;**
;** 参 数: RCCU Flags : RCCU_CK2_16, RCCU_CKAF, RCCU_PLL1_LOCK
;**
;** 返 回 值: 无
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
inline void RCCU_FlagClear (RCCU_INTERRUPTS_T RCCU_it)
{
RCCU_CFR |= RCCU_it;
}
/*********************************************************************************************************
;** 函数名称: RCCU_ResetSource
;** 功能描述: Return the source of the system reset
;**
;** 参 数: 无
;**
;** 返 回 值: The reset source
;**
;** 作 者: 罗辉联
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
inline RCCU_RESETSOURCES_T RCCU_ResetSource(void)
{
switch(RCCU_CFR & RCCU_RESETSOURCES_MASK)
{
case 0x00000020: return RCCU_SOFTWARE_RESET;
case 0x00000040: return RCCU_WDG_RESET;
case 0x00000080: return RCCU_RTCALARM_RESET;
case 0x00000200: return RCCU_LVD_RESET;
case 0x00000400: return RCCU_WKP_RESET;
default : return RCCU_EXTERNAL_RESET;
}
}
#endif //EN_ARM_RCCU > 0
#ifdef __cplusplus
}
#endif
#endif // __RCCU_H
/****************************************end of file*******************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -