CANoe学习笔记(六):如何实现LIN和CAN的多帧传输-----LIN
内容:
1、实现LIN的多帧传输
一、新建一个基于LIN的CANoe工程
二、接下来创建一些工程用得上的变量、文件:
2.1 LDF文件:
这部分注意:包含三个调度表,①3C诊断请求帧②3D诊断响应帧③主机控制报文和从机反馈报文调度表
以及从节点的配置信息
2.2 系统变量
创建三个系统变量:①FrameCount:帧有效字节数②SendFrame:用来发送帧的按钮③TestNAD:目标节点的NAD地址
2.3 Panel
简单明了
2.4 Capl脚本
代码就没复制了,工程文件在最下边,报错的地方稍后解决~
2.5 给节点包含LINtp.dll文件
如下图所示:
然后再看capl脚本
三、测试
如图:
trace界面:
可以看到,数据已经发出来了
从机节点就没有去配置了,用一个任意支持LIN诊断命令的ECU应该就可以看到回复。
---------------------------------------------------------------------------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------------------------------------------------------------------------
关于LINtp_DataReq,LINtp_DataInd,LINtp_DataCon这几个函数,做下说明:
LINtp_DataReq:输入参数包括三个--①发送的数据缓冲数组②发送的字节数③目标NAD地址
LINtp_DataInd:发送的数据可以通过这个回调函数获取
LINtp_DataCon:发送完毕后,会自动调用这个函数,可以获取到发送的字节数
工程新增:
发送完3C命令后,发送一帧3D响帧头。
PS:关于CAN的,下次补充。
测试工程:
链接:https://pan.baidu.com/s/1z0skcaMZW8sD-pjNv7Htqw?pwd=0104
提取码:0104