乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      CANoe 入門 Step by step系列(二)CAPL編程

       嗜書小遠(yuǎn) 2014-05-11

      CAPL就是Communication Application Programming Laguage的縮寫,CAPL類似于C語言的語法,因此所有的語法請參考C語言教程,這里不在這里進(jìn)行詳述,關(guān)于C語言,毫無疑問的,首先推薦大家看譚浩強(qiáng)老師的書,經(jīng)典中的經(jīng)典,看完這本C語言應(yīng)該沒問題了。CAPL在CANoe中起到重要的作用,他將所有的部分聯(lián)系起來(請看下圖)現(xiàn)在我們給予上一節(jié)的基礎(chǔ)上,來著重介紹CAPL編程。

      tmp95

      CAPL語法是C語言的,又有一些C++的特性,this指針,事件等,對于事件的理解可以學(xué)習(xí)任意一種面對對象語言,首推C#.NET,可以參考我的博客學(xué)習(xí),當(dāng)然這個似乎比CAPL本身更加難,事件也更加多,但這并不妨礙對事件的理解,其中的事件類型如下圖:

      tmp9B

      下面來幾個小例子幫助理解

      來個CANoe版本的hello world!來興奮一小下吧。開整~

      在打開CANoe,新建個工程,在Simulation Setup中加個Network node ,點(diǎn)鉛筆,忘了嗎,上一節(jié)剛講過,右鍵Start->New,鍵入如下代碼

      tmpA6

      編譯后,關(guān)閉CAPL Brower。運(yùn)行CANoe工程,結(jié)果如下,哇塞成功咯,好有成就感啊。

      tmpA7

      這個例子似乎跟CAN通訊沒啥太大關(guān)系啊,好,我們接下來再做一個例子

      tmpAB

      運(yùn)行結(jié)果如下,按鍵盤b鍵,將發(fā)送一個CAN消息,連dlc是啥都不知道的同學(xué),推薦先學(xué)習(xí)一下CAN基礎(chǔ)知識,推薦瑞薩公司的《CAN入門書》,講的非常的好。

      tmpAD

      運(yùn)行剛剛的那個例子你會發(fā)現(xiàn),按一下b,只發(fā)送一條消息,但在實(shí)際應(yīng)用中CAN消息都是循環(huán)連續(xù)發(fā)送的,我們要對剛剛的程序進(jìn)行一些修改。完成這樣的功能。程序如下:

      variables
      {
          message 0x400 msgA = {dlc=1};
          mstimer timerA;
          int conditionA = 0;
      }

      on key 'a'
      {
          conditionA = !conditionA;
          if(conditionA ==1)
          {
              setTimer(timerA,200);
          }
      }

      on timer timerA
      {
          if(conditionA==1)
          {
              setTimer(timerA,200);
          }
          msgA.byte(0) = msgA.byte(0)-1;
          output(msgA);
      }

      運(yùn)行結(jié)果如下:按A鍵,Timer啟動,發(fā)送消息

      tmp12

      接下來我們一起來看總結(jié)一下CAPL編程的要點(diǎn):

      tmp1B5

      tmp1B6

      tmp1B7

      tmp1B9

      tmp1BA

      tmp1BB

      tmp1BC

      tmp1BD

      tmp1BE

      tmp1C0

      tmp1C1

      tmp1C2

      tmp1C3

      tmp1C4

      tmp1C5

      tmp1C6

      tmp1C7

      tmp1C8

      CAPL編程的學(xué)習(xí),需要通過不斷在實(shí)踐中的積累,此外別無他法。以上真真兒的只是入門,如果你真心看過,不如你真心寫過。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多