前言
在本系列笔者将结合工作中对诊断实战部分的应用经验进一步介绍常用UDS服务的进一步探讨及开发中注意事项, Dem/Dcm/CanTp/Fim模块配置开发及注意事项,诊断与BswM/NvM关联模块的应用开发及诊断capl测试脚本开发等诊断相关实战内容。
Autosar诊断实战导读快速链接:Autosar诊断实战系列导读
Autosar全模块实战专栏快速链接:AutoSar实战进阶系列导读
本篇开始,我们从代码级别分析下单帧及长帧数据首帧发送及首帧发送完成后流控帧接收到连续帧继续发送的实现过程,每个模块执行了哪些操作,配合流程图的方式更直观展示给大家,本文框架如下:
1. 单帧数据的发送
在PduR层收到Dcm层的发送请求后,执行的逻辑如下:
1)会调用CanTp层接口:CanTp_Transmit(PduId,info),在该接口中:
①判断CanTp模块是否处于CANTP_ON状态;
②校验数据指针不为空;
③继续调用接口CanTp_AcceptTr