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); }