• 9412阅读
  • 6回复

linux下能实现微秒级的时间中断么? [复制链接]

上一主题 下一主题
离线agui_232
 

只看楼主 倒序阅读 楼主  发表于: 2006-04-02
我在arm9开发板上编写一个需要1ms时间中断的程序,虽然单独用Qtimer写一个小程序是可以的,但是当
我运行一个耗时大约几个ms的程序时,发现QTimer的时间中断没能达到要求了,我想应该跟平台有关吧。linux下还有其它的做法么??
    谢谢!
离线yfy002

只看该作者 1楼 发表于: 2006-04-02
select()
我渴望平静,风却给了我涟漪
我的blog:
http://sungaoyong.cublog.cn
离线agui_232

只看该作者 2楼 发表于: 2006-04-02
谢谢! 能不能详细一些,给个小例子什么的
离线agui_232

只看该作者 3楼 发表于: 2006-04-02
我的意思是有没有,过1ms就中断执行,的函数,select()好象是用在网络编程的把
离线fengshenx

只看该作者 4楼 发表于: 2006-04-02
开一个新的线程,
struct timeval tval;
tval.tv_sec=0;
tval.tv_usec=1000;
select(0,NULL,NULL,NULL,&tval);
do_something();
离线agui_232

只看该作者 5楼 发表于: 2006-04-03
可能是我表达不明确!楼上误解我的意思了,我是说比如有这么个函数valude();
 
  void main()
  {
    while(1)
    {
        ........
      }
  }

  然后我要实现一个微秒级的时间中断,执行valude();当然不是跳出while(1)!!

该怎样实现呢?? 谢谢!
离线fanyu
只看该作者 6楼 发表于: 2006-04-03
纠正一下楼主的说法,ms是毫秒的,而不是微秒。
在windows和solaris下有可以做到10ms以下精度的计时器,windows下的叫多媒体定时器.
linux下也可能有相类似的计时器,但不会是所有的linux都提供的,只能是个别的linux发行版提供。
快速回复
限100 字节
 
上一个 下一个