自学内容网 自学内容网

LIN总线CAPL函数—— 设置LIN报文字节间隔长度(linSetInterByteSpace)


请添加图片描述

字节间隔

  • 字节间隔(inter byte)隔包括同步段和受保护ID段之间的间隔、数据段各字节间之间的间
    隔以及数据段最后一个字节和校验和段之间的间隔,最多有9个字节间隔

在这里插入图片描述

  • 字节间隔可以是0个或者多个隐性电平组成,但是不得超过如下LIN报文的最大传输长度。
    在这里插入图片描述

设置单个报文的字节间隔(linSetInterByteSpace)

  • 以下测量环境为从节点在线,主节点仿真
  • 使用此函数可以为指定帧和指定字节文件设置字节间空间。字节字段既可以属于帧报头,也可以属于帧响应
  • 默认情况下,字节间空间为0。
  • frameID参数很好理解,该函数设置指定ID的报文;index参数设置哪两个字节间的间隔;sixteenthBits参数的单位是1/16bit ,如果需要设置1Bit的字节间隔,则应该设置该参数为16,而不是1.

在这里插入图片描述


示例-1

  • 设置LIN报头的同步间隔为13,界定符为1,字节间隔为0.
void func_1()
  {
linSetBreakLength(13, 0); // form 1
    linSetInterByteSpace (0x25, 0, 0*16); // form 1  
  }
  • 示波器截图如下:
    在这里插入图片描述

示例-2

  • 设置LIN报头的同步间隔为19,界定符为2,字节间隔为6.
void func_1()
  {
linSetBreakLength(19, 2); // form 1
    linSetInterByteSpace (0x25, 0, 6*16); // form 1  
  }
  • 示波器截图如下:
    在这里插入图片描述

设置报文的数据域的所有字节间隔(linSetInterByteSpaces)

  • 以下测量环境为节点在线,节点仿真
  • 使用此函数可以设置报文的数据域字节间空间。
  • 默认情况下,字节间空间为0。
  • sixteenthBits参数是一个长度为9的数组,单位是1/16bit ,分别对应着数据段的8个字节和一个CheckSum。
    在这里插入图片描述

示例-1

  • 设置LIN报头的同步间隔为19,界定符为2,字节间隔为6.
void func_1()
   {
       dword arrayOfSixteenthBits[9];
       int index;
      
      for(index=0;index<8;index++)
      {
      // for all valid data bytes and checksum byte set inter-byte space to 2 bit times
          arrayOfSixteenthBits[index] = 2*16; //2个比特
      }
    
       ret = linSetInterByteSpaces(0x10,arrayOfSixteenthBits);
      write("linSetBreakLength = %d",ret); 
    }
  • 示波器截图如下:
    在这里插入图片描述

在这里插入图片描述

23

7

  • 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!

  • 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
    18

原文地址:https://blog.csdn.net/qq_34414530/article/details/141257424

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!