🍅 我是蚂蚁小兵 ,专注于车载诊断领域,尤其擅长于对CANoe工具的使用 🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】 🍅 玩转CANoe,博客目录大全,点击跳转👉
目录 字节间隔 设置单个报文的字节间隔(linSetInterByteSpace) 设置报文的数据域的所有字节间隔(linSetInterByteSpaces)
字节间隔
字节间隔(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 ) ; linSetInterByteSpace ( 0x25 , 0 , 0 * 16 ) ; }
示波器截图如下:
示例-2
设置LIN报头的同步间隔为19,界定符为2,字节间隔为6.
void func_1 ( ) { linSetBreakLength ( 19 , 2 ) ; linSetInterByteSpace ( 0x25 , 0 , 6 * 16 ) ; }
示波器截图如下:
设置报文的数据域的所有字节间隔(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++ ) { arrayOfSixteenthBits[ index] = 2 * 16 ; } ret = linSetInterByteSpaces ( 0x10 , arrayOfSixteenthBits) ; write ( "linSetBreakLength = %d" , ret) ; }
示波器截图如下:
🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡! 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。