CAPL 编程使用 Timer 作为延迟

2024-03-16

我一直在编写一个 CAPL 脚本,它会在一定的延迟后在每个通道(2 个)上发送消息。我想使用生成以下延迟设置定时器() and mtimer::正在运行功能。 我可以使用 setTimer 函数,但我不知道如何使用mtimer::正在运行。 代码如下所示:

    Variables{
          message * temp = {DLC=8};
          mstimer timer1;
    }
    on timer timer1{
        //Do nothing
    }
    onstart{

    for(noofChannel=1;noofChannel<=2;noofChannel++){
        settimer(timer1,100);
        temp.CAN = noofChannel;
        temp.ID = 0xAA;
        While (mstimer::isrunning)==0 // I need to write this right.
        { //wait for timer to expire}
        Output(temp);

    }

代替mstimer::isrunning use isTimerActive()方法。isTimerActive()如果计时器正在运行,则返回 1;如果计时器到期,则返回 0。 所以你的代码将如下所示:

on start{

    for(noofChannel=1;noofChannel<=2;noofChannel++){
        settimer(timer1,100);
        temp.CAN = noofChannel;
        temp.ID = 0xAA;
        While (isTimerActive(timer1) == 1)  
        { //wait for timer to expire}
        }
        Output(temp);

      }
    }

但我不建议这样做。而不是循环进入on start,您可以通过输出第二条消息onTimer

on start{
            temp.CAN = 1;
            temp.ID = 0xAA;
            Output(temp);
            settimer(timer1,100);
        }

on timer timer1{
    temp.CAN = 2;
    Output(temp);
}

如果您想保持通用,即不限制为 2 个通道,您可以采用一个变量并在计时器中递增它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CAPL 编程使用 Timer 作为延迟 的相关文章

随机推荐

  • 在 angularjs 中格式化日期和时区

    使用 angularjs 1 2 26 我无法将日期输入格式化为所需的时区 这是一个示例 http plnkr co edit CxCqoR3Awcl1NFrCZYjx p preview http plnkr co edit CxCqoR
  • 播放路由语法以忽略 slug 的一部分

    我们想要的基本上是这样的 foo controllers FooController foo 然而这不起作用 我们找到了以下解决方法 foo ignore controllers FooController foo ignore 但这使得该
  • Docker 存储库服务器向 HTTPS 客户端发出 HTTP 响应

    我使用适用于 Windows 的 Docker 工具箱 并且正在尝试参考此文档运行私有 docker 注册表https docs docker com registry deploying https docs docker com reg
  • Windows 安全自定义登录验证

    我正在创建一个 Xaml C 应用程序 我希望它能够弹出登录提示 我想知道是否可以使用 CredUIPromptForWindowsCredentials 显示 Windows 安全对话框 获取输入的用户名和密码 执行自定义验证 如果验证成
  • 10 月 Azure SDK 在插入带有尾随空格的字符串时损坏

    有没有人解决这个问题 使用存储模拟器并将行插入表存储时 如果字段末尾有空格 则行插入会失败 两周前就已经指出了这一点 但我仍然没有看到微软对此的任何更新 有谁知道修复方法吗 微软论坛链接 http social msdn microsoft
  • 如何使用javascript获取html中的元素背景图像

    我想获取使用 css 或元素背景属性设置的所有 html 页面元素的背景图像 我怎样才能使用javascript做到这一点 The getStyle 下面的函数取自http www quirksmode org dom getstyles
  • 重写规则以返回某些 URL 的状态 200

    我希望具有特定路径的 URL 自动返回 200 状态响应 我已尝试以下操作 但当我尝试启动 Apache 时出现错误 第一个错误 RewriteCond 错误的标志分隔符 RewriteEngine On RewriteCond THE R
  • 在 XSL 中创建空格 ( )

    我尝试通过以下方式在 XSL 文档中创建自动间距 td td
  • 从现有 VHD 创建 VM:预览门户

    现在有人知道如何在新的 Azure 门户中从现有 VHD 创建 VM 吗 我可以在manage windowsazure com 中找到很多有关如何执行此操作的信息 但在portal azure com 中没有找到任何有关此功能的信息 从字
  • PendingIntent 启动和停止服务

    我正在尝试制作一个简单的小部件 其中带有一个启动按钮Service与OnClickPendingIntent 我可以很好地启动它 但我无法找到阻止它的方法 我知道我可以用BroadcastReceiver或类似的东西 但我想避免硬编码 这是
  • 如何将快照文件转换为任何其他格式?

    有没有办法将 Sql Server 快照 文件 ss 文件 转换为其他格式 例如 xml xls 或 txt 等 Thanks 快照文件是稀疏文件 http msdn microsoft com en us library aa365564
  • 理解 iOS Swift 2 中的随机数

    如何使程序中的随机数随着时间的推移而不断变化 即每次我想使用它时都成为范围内的新随机数 我很困惑 我已经阅读了 20 多篇关于如何用这种语言生成随机数的不同帖子和文章 我对此还很陌生 但我似乎无法让它发挥作用 我基本上是想从 1 0 3 0
  • 头文件之间的循环依赖

    我正在尝试实现一个包含两个类的树状结构 Tree and Node 问题是 我想从每个类调用另一个类的函数 因此简单的前向声明是不够的 让我们看一个例子 Tree h ifndef TREE 20100118 define TREE 201
  • 如何将附加参数传递给 jQuery DataTable ajax 调用?

    加载 jQuery DataTable 时 我有如下所示的代码 如何向 AJAX 调用传递附加参数 下面的问题和答案中建议的 fnServerParams 回调不起作用 也就是说 天真地使用aodata push 结果是 push is u
  • 用c#在服务器上写入XML值

    我正在尝试将值更新为 xml 文件上的标记 我使用 xmlDoc Save URLString 在本地它可以工作 但是如果我从服务器读取文件 我会收到错误 URI 不可能 服务器上的文件和文件夹权限设置为 777 None
  • 如何正确启用/禁用Flutter的Button

    经研究 当 onPressed 为 null 时 Flutter 的 Button 会自动禁用 然而 由于我必要的测试功能 我被迫放置一个箭头函数 gt 它似乎不会触发 onPressed 实际上为 null 而是返回 null 作为值 因
  • ANR(强制关闭/等待),同时生成足够大的列表

    我正在创建一种文件资源管理器 其中如果将任何应用程序文件复制到手机 SD 卡 我将在带有对话框主题的活动中向用户显示它 对于复制的每个新 app apk 我都会将应用程序的名称和位置附加到对话框中 并且列表是可滚动的 我的问题是 如果我一次
  • 使用 Fast API 接收图像,使用 cv2 处理然后返回

    我正在尝试构建一个 API 它接收图像并对其进行一些基本处理 然后使用 Open CV 和 Fast API 返回它的更新副本 到目前为止 我的接收器工作得很好 但是当我尝试对处理后的图像进行 Base64 编码并将其发送回时 我的移动前端
  • 类型错误:无法深度复制此模式对象

    试图理解我的 变量 类中的这个错误 我希望在我的 Variable 类中存储 sre SRE Pattern 我刚刚开始复制 Variable 类 并注意到它导致我的所有 Variable 类实例发生更改 我现在明白我需要深度复制此类 但现
  • CAPL 编程使用 Timer 作为延迟

    我一直在编写一个 CAPL 脚本 它会在一定的延迟后在每个通道 2 个 上发送消息 我想使用生成以下延迟设置定时器 and mtimer 正在运行功能 我可以使用 setTimer 函数 但我不知道如何使用mtimer 正在运行 代码如下所