HC32L17x的LL驱动库之utils

#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 */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值