1.例程说明

本例程是基于HBM32F003开发的,同样适用于STM32,例程的系统时钟频率为32MHz。


2.相应寄存器

 

 

 

 

 

 

 


 

例程1:1us

//1us   HCLK选择32MHz  1个周期就是1/32 *10^-6 s ==>1/32 us 一个周期
void SysTick_Init_nus(uint_least32_t CK)
{
    SysTick->CTRL |= 0;   //失能定时器
    SysTick->LOAD = 32*CK;//填充值
    SysTick->VAL = 0;     // 初始值
    SysTick->CTRL |= 0x01;//使能定时器

    while(0 == (SysTick->CTRL&(0x01<<16)));
    SysTick->CTRL &=~ (0x01<<16);
}

例程2:1s

//1ms
void SysTick_Init_nms(uint_least32_t CK)
{
    SysTick->CTRL |= 0;           //失能定时器
    SysTick->LOAD = 32000*CK;    //填充值
    SysTick->VAL = 0;             // 初始值
    SysTick->CTRL |= 0x01;       //使能定时器
    while(0 == (SysTick->CTRL&(0x01<<16)));
    SysTick->CTRL &=~ (0x01<<16);
}

 

posted on 2021-07-20 09:42  xiao_fei  阅读(197)  评论(0编辑  收藏  举报