前言
在本系列笔者将结合工作中对诊断实战部分的应用经验进一步介绍常用UDS服务的进一步探讨及开发中注意事项, Dem/Dcm/CanTp/Fim模块配置开发及注意事项,诊断与BswM/NvM关联模块的应用开发及诊断capl测试脚本开发等诊断相关实战内容。
Autosar诊断实战导读快速链接:Autosar诊断实战系列导读
Autosar全模块实战专栏快速链接:AutoSar实战进阶系列导读
本篇开始,我们从代码级别分析下长帧数据的首帧数据接收及流控帧数据发送的实现过程,包括每个模块执行了哪些操作,配合流程图的方式更直观展示给大家,本文框架如下:
1. 长帧数据的首帧接收
根据ISO14229协议,对于无法通过一帧报文发送的长帧,会拆分为首帧+连续帧的形式发送,对于首帧报文的接收与单帧的接收过程基本一致,
1)对应报文callout函数CanTp_RxIndication(),在该接口中会先读诊断报文的接收条件进行判断其中包括:
①CanTp处于CANTP_ON状态;