MTK----获取系统时间的函数大全

本文介绍了一种嵌入式系统中时间管理的方法,包括定义时间结构体以保存当前时间,并通过函数获取系统时间。此外,还详细介绍了定时器的创建、设置、取消等操作,以及如何计算代码执行时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,定义一个保存当前时间的结构体:typedef struct{
    U8 hour;
    U8 min;
    U8 sec;
    U8 month;
    U8 day;
    U8 local;
    U16 year;
}Btl_Log_Time;
MYTIME init_time;
调用获取当前时间的函数
GetDateTime(&init_time);
curr_time.year = init_time.nYear;
curr_time.month = init_time.nMonth;
curr_time.day = init_time.nDay;
curr_time.hour = init_time.nHour;
curr_time.min = init_time.nMin;
curr_time.sec = init_time.nSec;

 

2.相关时间函数

 

kal_timerid kal_create_timer(kal_char* timer_name_ptr);
void kal_set_timer(kal_timerid timer_id, kal_timer_func_ptr handler_func_ptr, void* handler_param_ptr, /
                   kal_uint32 delay, kal_uint32 reschedule_time);
void kal_cancel_timer(kal_timerid timer_id);

void kal_get_time(kal_uint32* ticks_ptr);
kal_uint32 kal_get_time_remaining(kal_timerid timer_id);
kal_uint32 kal_secs_to_ticks(kal_uint32 secs);
kal_uint32 kal_milli_secs_to_ticks(kal_uint32 milli_secs);
kal_uint32 kal_ticks_to_secs(kal_uint32 ticks);
kal_uint32 kal_ticks_to_milli_secs(kal_uint32 ticks);
kal_uint32 kal_check_allowed_sleep_clock(kal_uint32 period_ticks);

 

计算执行时间代码

{

    kal_uint32 tick_beg, tick_end;
    kal_uint32 ms_beg, ms_end;
    kal_get_time(&tick_beg);
    ms_beg = kal_ticks_to_milli_secs(tick_beg);

    //测试代码;
    kal_get_time(&tick_end);
    ms_end = kal_ticks_to_milli_secs(tick_end);
    kal_prompt_trace(0, "ticks:%d", ms_end - ms_beg);    

}

 

1 tick = 4.615ms

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值