中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 6499查看
  • 3回复

[模块网络] canoe的capl编程问题

[复制链接]


该用户从未签到

发表于 29-12-2011 21:46:29 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


canoedemo程序的例子中的编程,
on timer tFlashLightFrequency
{
  gHazardLightsStatus = (gHazardLightsStatus == 1 ? 0 : 1);
  $LightState::FlashLight = gHazardLightsStatus;
  setTimer(this, gFlashLightFrequency);
}

这个是一个定时器的编程,请问== 1 ? 0 : 1是什么语法,还有下面的$是什么意思,请高手请教。


该用户从未签到

发表于 6-1-2012 08:59:01 | 显示全部楼层
判断gHazardLightsStatus ==1 是返回0 否则返回1

评分

参与人数 1积分 +2 收起 理由
清雅轩 + 2 回帖有奖【论坛口号→知无不言,言无不尽】

查看全部评分

回复 支持 反对

使用道具 举报


  • TA的每日心情
    难过
    5-9-2016 10:22
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 31-8-2016 15:49:21 | 显示全部楼层
    $ 是信息;$LightState::FlashLight 意思是信息LightState里面含有的FlashLight信号
    回复 支持 反对

    使用道具 举报

    
  • TA的每日心情
    开心
    7-10-2016 22:21
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 7-10-2016 23:07:33 | 显示全部楼层
    on timer tFlashLightFrequency    //定时器tFlashLightFrequency的中断函数;
    {
      gHazardLightsStatus = (gHazardLightsStatus == 1 ? 0 : 1);    //gHazardLightsStatus取反;
      $LightState::FlashLight = gHazardLightsStatus;    //将gHazardLightsStatus的值赋给总线报文LightState中的信号FlashLight ;
      setTimer(this, gFlashLightFrequency);    //重新装载定时器的计时值为gFlashLightFrequency;
    }

    CAPL语言的语法基本上与C语言一致,只是多出了一些关键字。
    条件?语句1:语句2;是C语言中唯一的一个双目运算符,如果条件为真则执行语句1,否则执行语句2。
    gHazardLightsStatus = (gHazardLightsStatus == 1 ? 0 : 1);    的意思是如果gHazardLightsStatus等于1,则将gHazardLightsStatus赋值为0,如果gHazardLightsStatus等于0,则将gHazardLightsStatus赋值为1.
    回复 支持 反对

    使用道具 举报

    快速发帖

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 26-7-2025 22:46 , Processed in 0.351463 second(s), 38 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.