理一下写这类函数的思路
首先 定义一个函数指针 数组
写注册函数,实现把函数指针填充进数组里,
需要的话 写取消注册函数,让数组里对应的函数为空,
注册函数的用途:把需要定时器处理的函数一次执行。不需要很麻烦的每次都修改timer.c
void timer_irq(void)
{
int i;
for (i = 0; i < TIMER_NUM; i++)
{
if (timer_array[i].fp)
{
timer_array[i].fp();
}
}
}
这个函数就是用来执行数组里面的每一个定时器函数,,
比如led函数 在led_init 函数里面就把led_timer_irq函数注册进数组,这样使用定时器的时候就可以直接实现led_timer_irq函数了。