#ifndef HC32L1XX_LL_UTILS_H_
#define HC32L1XX_LL_UTILS_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "hc32l1xx.h"
#include "hc32l1xx_ll_bus.h"
///
//===函数定义
//uint32_t _div_u32(uint32_t x, uint32_t y);
///
//函 数:
//功 能:复位滴答定时器
//输入参 数:
//输出参 数:
//说 明:
//
static inline void LL_DeInitTick(void)
{
LL_PER0_GRP1_ForceReset(LL_PER0_GRP1_PERIPH_TICK);
LL_PER0_GRP1_ReleaseReset(LL_PER0_GRP1_PERIPH_TICK);
}
///
//函 数:
//功 能:滴答定时器的初始化
//输入参 数:
//输出参 数:
//说 明:
//
static inline void LL_InitTick(uint32_t HCLKFrequency, uint32_t Ticks)
{
//---设置加载值
SysTick->LOAD = (uint32_t)((HCLKFrequency / Ticks) - 1UL);
//SysTick->LOAD = (_div_u32(HCLKFrequency,Ticks) - 1UL);
//---清零计数值
SysTick->VAL = 0UL;
//---配置控制信息
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
SysTick_CTRL_ENABLE_Msk;
}
//===外部定义变量
extern volatile uint32_t SystemCoreClock;
///
//函 数:
//功 能:设置系统高速时钟的频率
//输入参 数:
//输出参 数:
//说 明:
//
static inline void LL_SetSystemCoreClock(uint32_t HCLKFrequency)
{
SystemCoreClock = HCLKFrequency;
}
///
#ifdef __cplusplus
}
#endif
#endif /* HC32L1XX_LL_UTILS_H */
HC32L17x的LL驱动库之utils
最新推荐文章于 2024-05-10 17:03:25 发布