delay文件夹包含的delay.c和delay.h文件主要有7个函数:
void delay_osschedlock(void);
void delay_osschedunlock(void);
void delay_ostimedly(u32 ticks);
void SysTick_Handler(void);
void delay_init(u8 SYSCLK);
void delay_ms(u16 nms);
void delay_us(u32 nus);
前4个函数仅在支持操作系统的时候需要用到,后面三个则是通用的。
编程思维:
CM4内核有一个systick定时器(24位的倒计时定时器),当计数到0的时候,将从reload寄存器中自动重装载定定时初值。只要不清除systick控制及状态寄存器的使能位,就永不停息。
利用stm32的内部systick来实现延时,这样既不用占用中断,也不占用系统定时器。
delay_init函数
这个函数用来初始化两个重要的参数:fac_us 和 fac_ms;