内核延时函数接口延时的函数有delay和sleep两种类型:
delay接口void ndelay(unsigned long nsecs);//纳秒延时void udelay(unsigned long usecs);//微妙延时void mdelay(unsigned long msecs);//毫秒延时sleep接口void msleep(unsigned int msecs);//毫秒级延时long msleep_interruptible(unsigned int msecs);//毫秒级延时,可被信号打断void ssleep(unsigned int seconds);//秒级延时delay和sleep的区别delay型延时:忙等待,占用cpu资源,延迟过程无法进行其他任务。
sleep型延时:休眠,不占用cpu资源,其它模块此时可以使用cpu资源。
低分辨率定时器jiffies和hzjiffies:全局变量,表示 系统启动以来产生的节拍数 。每产生一次中断,jiffies自动加一。
hz:赫兹,也叫 节拍率 ,表示 每秒种产生多少次中断 。
例如:hz为200,代表每秒产生200次中断,那2秒钟jiffies的值就应该是400。因此系统的运行时间可以用jiffies/hz表示。
一秒钟:jiffies + hz表示一秒钟
原因:内核中统计时间是通过jiffies,因此要比较时间或者定时也是通过jiffies。
例如程序运行一秒钟,内核如何知道运行了一秒?答案是运行一秒后的jiffies值和运行前的jiffies值进行比较,如果相差为一个hz,则代表一秒钟。jiffies+hz其实就是一秒后jiffies的值,所以jiffies+hz可以间接表示一秒钟。
定时2秒:jiffies + 2*hz。以此类推
获取当前的jiffies值,可以用get_jiffies_64()函数。
将时间转为对应的jiffies值,可以用msecs_to_jiffies()等函数,例如msecs_to_jiffies(1000)代表1秒,函数返回值其实就是hz。
相关接口#includestruct timer_list { struct list_head list; unsigned long expires; //定时器到期时间,传入的是jiffies值 unsigned long data; //作为参数被传入定时器处理函数 void (*function)(unsigned long);};void init_timer(struct timer_list * timer);//初始化定时器void add_timer(struct timer_list * timer);//添加一个定时器int mod_timer(struct timer_list *timer, unsigned long expires);//修改定时器的定时时间expiresint del_timer(struct timer_list * timer);//删除定时器unsigned int jiffies_to_msecs (const unsigned long j);//将jiffies转为对应的毫秒值unsigned int jiffies_to_usecs (const unsigned long j);//将jiffies转为对应的微秒值unsigned long msecs_to_jiffies (const unsigned int m);//将毫秒值转为对应的jiffiesunsigned long usecs_to_jiffies (const unsigned int u);//将微秒值转为对应的jiffies
恩智浦推出智能遥控器演示器,配备ZigBee RF4CE的JN5161无线微控制器
连接器的未来发展将会是怎样的
@所有人,鑫永诚光电与您相约2023深圳国际传感器展
L2N7002LT1G SOT-23场效应管 LRC品牌规格书参数图解
浅谈ADI推动汽车行业发展的一些应用场景
Linux内核延时函数接口
通过机器学习和模拟技术,谷歌发布开源库TensorFlow Quantum
关于CC2640蓝牙干扰模拟信号采集的问题
陈竞凯:依托坚实的AI技术底座打造自动驾驶技术体系
Intel超低功耗领域处理器细节曝光
SI常见buffer及hspice调用方式
如何深入浅出地学习LOD表达式
工作效率极高,BOHHOM无接触配送机器人很吸睛
从业绩来看 赛灵思是目前FPGA市场的绝对领先者
Linux 4.18 正式版将延期发布
三菱PLC编程软件如何使用注释、声明、注解?
线性光耦原理与电路设计
中国半导体产业崛起 全球半导体消费市场唯看中国
继魅族MX4芯片后,联发科又一4G杀手级武器亮相
边缘计算将会成为5G时代一种重要的新型业务模式