Trio问题请教(急) 点击:340 | 回复:4



Roben

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 38回
  • 年度积分:0
  • 历史总积分:80
  • 注册:2007年9月01日
发表于:2008-03-05 16:05:00
楼主
请问,Trio扫描一条指令的时间是多少?例如,执行如下指令所需要时间是多少:
FOR i=1 TO 2
VR(i)=256AIN(1)-512
NEXT i



Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2008-03-05 18:48:00
1楼
这个需要你自己编程测一下,就以上面的程序为例,修改如下:
ticks=0
FOR i=1 TO 2
VR(i)=256AIN(1)-512
NEXT i 
t=-ticks
print "The consumer time(ms) is",t

这里的ticks是个系统参数,每个运行的任务都会有一个独一无二的ticks,它会由系统内核在每个伺服周期自动减1,默认伺服周期为1ms.用户可以用这个参数根据需要灵活的来实现计时、定时器等功能。

Roben

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 38回
  • 年度积分:0
  • 历史总积分:80
  • 注册:2007年9月01日
发表于:2008-03-05 20:42:00
2楼
非常感谢!!

Roben

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 38回
  • 年度积分:0
  • 历史总积分:80
  • 注册:2007年9月01日
发表于:2008-03-05 21:50:00
3楼
请问Trio技术支持:
ticks=0
FOR i=1 TO 2
VR(i)=i
NEXT i 
t=-ticks
print "The consumer time(ms) is",t
这个程序,我用Trio软件的仿真软件simulator仿真了一下,但是仿真结果t始终是0,没有显示出数值。

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2008-03-06 09:27:00
4楼
这个程序很简单,控制器在1个ms内就能够完成,所以你看到的结果始终为0。另外,仿真软件对于ticks的处理精度和控制器是有很大区别的,其结果是不准确的,所以建议还是在控制器上实际测试

热门招聘
相关主题

官方公众号

智造工程师