【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
说定时器是嵌入式系统的心脏,一点也不为过。定时器,不仅使用在rtos领域,在任务的运行、等待、延时、资源的获取方面都有广泛的影响。之前学过外部输入中断,定时器本身一般也是作为中断来进行处理的。
定时器稍显复杂,可以通过直接阅读代码加以分析。
1、分析main函数
int main(void)
{
LED_GPIO_Config();
SysTick_Init();
for(;;)
{
LED1( ON );
Delay_ms(1000);
LED1( OFF );
LED2( ON );
Delay_ms(1000);
LED2( OFF );
LED3( ON );
Delay_ms(1000);
LED3( OFF );
}
return 0;
}
从代码来看,主要由两部分。一部分是定时初始化函数,即SysTick_Init;另外一个就是Delay_ms函数。
2、定时初始化函数
void SysTick_Init(void)
{
if (SysTick_Config(SystemCoreClock / 100000))
{
while (1);
}
}