//创建一个软件定时器
static struct timer_list my_timer;//定义一个软件定时器
struct timer_list {
struct list_head entry; //定时器链表的入口
unsigned long expires; //定时器超时时的节拍数
void (*function)(unsigned long); //【重要】定时器处理函数
unsigned long data; //传给定时器处理函数的长整型参数
struct tvec_t_base_s *base; //定时器内部值,用户不使用
#ifdef CONFIG_TIMER_STATS
void *start_site;
char start_comm[16];
int start_pid;
#endif
};
void my_timer_function(...);//定义自己的软件定时器函数
init_timer(&my_timer);
my_timer.function=my_timer_function;
add_timer(my_timer);
//获得当前系统内核的时间,该时间是距离1970年1月1日0时0分0秒的时间,用秒和纳秒表示
//timespec里面是秒和纳秒
struct timespec current_kernel_time(void)
{
struct timekeeper *tk = &tk_core.timekeeper;
struct timespec64 now;
unsigned long seq;
static struct timer_list my_timer;//定义一个软件定时器
struct timer_list {
struct list_head entry; //定时器链表的入口
unsigned long expires; //定时器超时时的节拍数
void (*function)(unsigned long); //【重要】定时器处理函数
unsigned long data; //传给定时器处理函数的长整型参数
struct tvec_t_base_s *base; //定时器内部值,用户不使用
#ifdef CONFIG_TIMER_STATS
void *start_site;
char start_comm[16];
int start_pid;
#endif
};
void my_timer_function(...);//定义自己的软件定时器函数
init_timer(&my_timer);
my_timer.function=my_timer_function;
add_timer(my_timer);
//获得当前系统内核的时间,该时间是距离1970年1月1日0时0分0秒的时间,用秒和纳秒表示
//timespec里面是秒和纳秒
struct timespec current_kernel_time(void)
{
struct timekeeper *tk = &tk_core.timekeeper;
struct timespec64 now;
unsigned long seq;