打印

程序运行时间问题

[复制链接]
1943|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
megaf|  楼主 | 2011-6-16 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
if(StationSec >(30))
  {  
       oldtime=OSTimeGet();
    Shell_OutTXT1("\r\n 距离上次运行到此时间差是 %d",(oldtime-appletime));
    appletime=oldtime;
   }
   StationSec = 0;
   }
  }
//StationSec在中断中1s自加一次
我在一个项目中发现,在此输出的时间差值不是很准确,用的是ucos和stm32f105,任务中还别的中断和互斥量。想问问大家是什么原因导致的这个问题,怎么解决
沙发
megaf|  楼主 | 2011-6-16 11:01 | 只看该作者
有时候差个7s,有时候差值又能是几个毫秒,不理解

使用特权

评论回复
板凳
megaf|  楼主 | 2011-6-16 11:02 | 只看该作者
[ 距离上次运行到此时间差是 24224
[ 距离上次运行到此时间差是 19953
[ 距离上次运行到此时间差是 28028
[ 距离上次运行到此时间差是 19926
[ 距离上次运行到此时间差是 29243
[ 距离上次运行到此时间差是 29689
[ 距离上次运行到此时间差是 38936

使用特权

评论回复
地板
megaf|  楼主 | 2011-6-16 11:02 | 只看该作者
这是实验数据

使用特权

评论回复
5
香水城| | 2011-6-16 12:15 | 只看该作者
你最好先搞清楚UCOS的调度规则,以及中断和互斥量的使用对任务调度的影响,搞清楚后你自己就可以回答这个问题。

使用特权

评论回复
6
txcy| | 2011-6-16 13:08 | 只看该作者
楼主可能是一些基本概念没弄清楚

使用特权

评论回复
7
megaf|  楼主 | 2011-6-16 13:08 | 只看该作者
5# 香水城
调度,中断,互斥量,这几点都注意看了,只是没法估量其对我上面程序的影响。或者说上面的问题是由这几点导致的吗

使用特权

评论回复
8
香水城| | 2011-6-16 13:20 | 只看该作者
5# 香水城
调度,中断,互斥量,这几点都注意看了,只是没法估量其对我上面程序的影响。或者说上面的问题是由这几点导致的吗
megaf 发表于 2011-6-16 13:08


肯定会影响。

使用特权

评论回复
9
airwill| | 2011-6-16 16:03 | 只看该作者
ucos 的调度机制不会导致这么大的时间差的. 否则就面对"RTOS" 的称号,它会自惭形秽咯
估计是高优先级的任务占用了太多时间.
不妨提高这段程序的优先级, 先设置到最高, 然后再依次降低. 看看哪个任务占用太多的资源不及时释放导致的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:呵呵,赶上中国机器人发展的时代,中国机器人就靠我们这代人了,任重道远。

24

主题

81

帖子

1

粉丝