linux tickGet()

tickGet()返回的是从系统启动开始tick计数后的总的tick数目。

tick是啥,是“滴答”,它是一个数值量,本身不能代表时间。

如果说要知道tick增加一个代表多少时间的话,那就要看系统的时钟率了。

在Shell下,sysClkRateGet()可以返回这个始终率的值。比如60。啥意思呢,就是1秒钟产生60个tick。操作系统调度是基于

这个tick的,这在硬件上是个优先级很高(除了NMI以外都比它低)的时钟中断。如果你的始终率是60那么一个tick代表的时间就是

1000ms/60=16.67ms。也就是tick增加一个所花的时间16.67毫秒。那么你要想你的tick是1ms一下的话,那不就是把时钟率设置

成1000就可以了,因为1000ms/1000=1嘛。可以用sysClkRateSet(1000)来达到此目的。

设置成1000好使吗?就看你的需求了。嵌入式系统嘛,啥都你自己整,时钟率高了,操作系统调度频率就很高,软件响应能力增强,但硬件中断的处理就不一定是实时的了。

时钟率不是越大越好。但太小了绝对好不起来。

1ms还是不够用?用辅助时钟吧。它也中断。用起来一样。

不过,值得注意的是,千万别整很多东西挂到一个1秒钟执行1000次以上的中断里面,CPU耗不起啊。所以1ms以下的精确定时,推荐用硬件做。注意啊,实时操作系统是软件,怎么说它也是软的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 9,629评论 0 23
  • JSX基本语法JSX的官方定义是类XML语法的ECMAScript的扩展。 XML基本语法使用类XML语法好处之一...
    FeRookie阅读 2,744评论 0 0
  • 大暑,太阳发了狠一般用酷刑,空气成了流火,将世界烧成了寂静。 只有知了用生命发出声嘶力竭的吼声,它快死了,从没见过...
    花不识阅读 3,613评论 2 5
  • 历尽沧桑辞帝都, 将妇携子归灵山。 森森故宅拒八风, 邃密群科济有缘。
    甘斯保健正果养生堂阅读 1,644评论 0 0
  • 今天想讲一下一直让我头疼的样式居中问题: 在同事的谆谆教导下,学习了两种让样式居中的方法。先说第一种: 1、 di...
    一座被占用阅读 3,211评论 0 1