• C-V2X(CANoe)CAPL接收CAN消息


    1. 简述

    创建两个ECU节点,一个用来发送CAN消息,一个用来接收CAN消息。
    1

    2. ECU1

    /* ecu1.can */
    /*@!Encoding:936*/
    includes
    {
      
    }
    
    variables
    {
      
    }
    
    on preStart
    {
      write("Hello ECU1!\n");
    }
    
    on start
    {
      message 0x01 msg;
      msg.can = 1;
      msg.dlc = 8;
      msg.byte(0) = 0x11;
      msg.byte(1) = 0x22;
      msg.byte(2) = 0x33;
      msg.byte(3) = 0x44;
      msg.byte(4) = 0x55;
      msg.byte(5) = 0x66;
      msg.byte(6) = 0x77;
      msg.byte(7) = 0x88;
      output(msg);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    3. ECU2

    /* ecu2.can */
    /*@!Encoding:936*/
    includes
    {
      
    }
    
    variables
    {
      
    }
    
    on preStart
    {
      write("Hello ECU2!\n");
    }
    
    on message 0x01
    {
      write("ECU2: this.id = %x",this.id);//获取报文ID
      write("ECU2: this.name = %s",this.name);//获取报文名字
      write("ECU2: this.can = %d",this.can);//获取当前报文在哪路can上
      write("ECU2: this.dir = %d",this.dir);//获取当前报文是TX还是RX
      write("ECU2: this.dlc = %d",this.dlc);//获取当前报文的报文长度
      write("ECU2: this.byte(6) = %x",this.byte(0));
      write("ECU2: this.byte(7) = %x",this.byte(1));
      write("ECU2: this.byte(6) = %x",this.byte(2));
      write("ECU2: this.byte(7) = %x",this.byte(3));
      write("ECU2: this.byte(6) = %x",this.byte(4));
      write("ECU2: this.byte(7) = %x",this.byte(5));
      write("ECU2: this.byte(6) = %x",this.byte(6));
      write("ECU2: this.byte(7) = %x",this.byte(7));
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    4. 测试

    2

  • 相关阅读:
    操作符详解
    基于VitePress创建组件文档
    夯实算法-任务调度器
    gin 中间件
    小侃设计模式(九)-组合模式
    无人机航拍技术基础入门,无人机拍摄的方法与技巧
    JavaWeb环境配置 IDE2022版
    vue3自定义全局Loading
    【并发编程】Synchronized原理详解
    Goland常用快捷键设置
  • 原文地址:https://blog.csdn.net/qq_40723777/article/details/125622501