struct tm* localtime_r(const time_t* t, struct tm* r) { return gmtime_r(t, r); } struct tm* localtime(const time_t* t) { static struct tm tmp; return localtime_r(t, &tmp); } time_t mktime(struct tm * const t) { register time_t day; register time_t i; register time...
rt_thread重定义了定时器类型为rt_timer_t structrt_timertm1 回调函数 voidtimeout_callback(void*parameter){/*回调函数的动作*/} 动态创建 rt_timer_trt_timer_create(constchar*name,void(*)(void*parameter)timeout,void*parameter,rt_tick_t time,rt_uint8_t flag) name 定时器名称 timeout 超时回调...
void(*timeout)(void*parameter),void*parameter,rt_tick_ttime,rt_uint8_tflag);...
rt_object_init((rt_object_t)timer, RT_Object_Class_Timer, name);//初始化对象变量,并将其节点list插入对应容器中; _rt_timer_init(timer, timeout, parameter, time, flag);//初始化剩下部分的定时器参数 } staticvoid_rt_timer_init(rt_timer_ttimer, void(*timeout)(void*parameter), void*p...
parameter:定时器超时后传给timeout_func函数的参数 init_tick:定时器内部用来记录定时器初始化指定的定时值 timeout_tick:定时器内部用来计算相对当前OSTICK定时器的超时TICK值。 /* hard timer list */static rt_list_t rt_timer_list[RT_TIMER_SKIP_LIST_LEVEL];/* soft timer list */static rt_list_t...
void (*timeout_func)(void *parameter); /**< timeout function's parameter 超时函数的参数*/ void *parameter; /** < timer timeout tick 定时器初始超时节拍数 */ rt_tick_t init_tick; /**< timeout tick 定时器实际超时时的节拍数*/ ...
static void alarm_hour_cb(rt_alarm_t alarm, time_t timestamp) { LOG_D("alarm_hour_cb ok!\n"); } static void rtc_alarm_hour_create(void) { static time_t now; struct tm *p_tm; struct rt_alarm_setup alarm_setup_test; if (p_alarm_hour != RT_NULL) ...
再看这时间判断,有没有豁然开朗呢?comm_get_ms()是张三,timeout是李四,变量范围由uint8_t变成了uint32_t,仅此而已。 后记 这种超时判断方法并非由笔者想出,是笔者在阅读RT-Thead操作系统的timer源码时发现的。rt_timer是RT-Thread的定时器模块,提供基于系统滴答计数的定时功能,其计数值就是32位无符号整型uint...
rt_tick_ttimeout_tick;/* 定时器实际超时时的节拍数 */ }; typedefstructrt_timer*rt_timer_t; RT-Thread采用面向对象的思想设计的代码,所有内核对象都继承rt_object结构体,定时器模式及其状态通过timer->parent.flag成员修改: 2.2 定时器工作机制
2void(*timeout)(void* parameter),3void* parameter,4rt_tick_ttime,rt_uint8_tflag);5rt_err_trt_timer_delete(rt_timer_ttimer);6rt_err_trt_timer_start(rt_timer_ttimer);7rt_err_trt_timer_stop(rt_timer_ttimer); rt_timer + 动词短语的形式表示能够应用于 timer 对象的方法。