欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux内核获取系统时间

程序员文章站 2022-07-15 17:12:31
...

在Linux内核中,常常使用do_gettimeofday()函数来得到精确的系统运行时间,尤其在嵌入式中非常常见。

很多程序运行,不需要获取到年月日等信息,但是需要获取高精度的系统时间,可以使用这个函数。

函数功能和C标准库中gettimeofday()用法相同。

下面代码拿去使用吧。

#include <linux/time.h>

unsigned int system_get_usec(void)
{
	unsigned int usec;
	struct timeval ts;

	do_gettimeofday(&ts);

	usec = (unsigned int)ts.tv_usec;

	return usec;
}

unsigned long system_get_msec(void)
{
	unsigned long milliseconds;
	struct timeval ts;

	do_gettimeofday(&ts);

	milliseconds = ts.tv_sec*1000LL + ts.tv_usec/1000;
	
	return milliseconds;
}

unsigned int system_get_sec(void)
{
	unsigned int sec;
	struct timeval ts;

	do_gettimeofday(&ts);

	sec = (unsigned int)ts.tv_sec;

	return sec;
}

void system_mdelay(unsigned int dly)
{
	mdelay(dly);
}

void system_udelay(unsigned int dly)
{
	udelay(dly);
}

以上。

相关标签: Linux