Board logo

标题: [求助] skill中 如何控制for循环中执行一次间隔的时间 [打印本页]

作者: luteng    时间: 6 天前 16:50     标题: skill中 如何控制for循环中执行一次间隔的时间

想要多次仿真,使用for循环,看无法控制for运行一次指令所需要的时间,连续运行循环会造成冲突。求助使用Skill来设定一次循环所需要的时间
作者: haijiao7hao    时间: 6 天前 22:12

ocean 无法实现么?
作者: luteng    时间: 5 天前 18:15

ocean 中有wait指令 不熟悉ocean  将所有要执行的代码放到了for循环中  避开了这个问题  但是运行时间加长
作者: hccaiwh    时间: 前天 16:13

本帖最后由 hccaiwh 于 2019-1-15 16:35 编辑

我看了一下guide,我没有找到直接做delay的文档,但是我发现了一个函数getCurrentTime():
  1. in:getCurrentTime();;
  2. out:"Jan 15 16:29:32 2019";;
复制代码




这个是可以获得当前系统时间的函数。这个获得的结果我感觉是可以进行运算的,
利用正则表达式或者其他方法。比如

我要:delay=10 min


  1. for(n 1 10
  2. ..........
  3. time1=getCurrentTime();;
  4. time2=time1+delay;;
  5. ps:(这一行不是直接这么写,我要做一个解释,
  6. 通过对getCurrentTime()结果进行运算,
  7. 让getCurrentTime()中的minute数值M变成M+10min,
  8. 具体运算我认为是可以实现并且可行,操作可以在guide搜一下time的函数,
  9. 或者用substring()配合strcat() 实现。话说不知道skill 有没有spilt的操作
  10. 如果能split就更简单了。
  11. 可以吧这段操作提炼成一个函数可以一直使用)

  12. if(time2==getCurrentTime() then
  13. printf("\n delay=10min have done!")
  14. );if

  15. );for
复制代码


我是skill菜鸟,不知道思路可不可行。 楼主自行评判下吧。




欢迎光临 ET创芯网论坛(EETOP) (http://bbs.eetop.cn/) Powered by Discuz! 7.2