STM32开发笔记(一)——SysTick中断
小狼@http://blog.csdn.net/xiaolangyangyang
SysTick定时器有两大用途:
- 没有操作系统:只用于精准延时
- 操作系统(Ucos2、Ucos3、Freertos):为操作系统提供精准的定时中断(1ms~50ms)作为操作系统滴答
SysTick配置:
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq/1000); // SysTick中断频率1KHz
// 在Ucos中定义有OS_TICKS_PER_SEC宏用来配置SysTick频率
用于精准延时:
systick中断服务程序
void SysTick_Handler(void)
{
systime ++;
}
延时程序
void delay_ms(unsigned int ms)
{
unsigned int temp;
temp = systime;
while((systime - temp) < ms);
}