大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是UDS诊断仪在线0X3E服务介绍,希望能对你有所帮助
诊断仪在线服务介绍
诊断仪在线服务比较简单,其功能就是告诉服务端,诊断仪还是处于连着的状态,不要切换状态。比如,当你想从默认会话模式切换到扩展会话模式,并保持在扩展会话模式时,此时可以周期性发送3E服务。因为,如果不在默认会话模式,超过S3时间,ECU就会自动切换到默认会话,3E服务可保持在你其他模式下。
数据格式
请求报文
格式很简单,就两个字节,【SID】+ 【sub-function】
子功能
子功能为0X00的话,没有什么特殊的含义
0X80:抑制正响应,表示如果是肯定响应的话,服务端就不用回复了
响应报文
分两种情况:无抑制正响应和抑制正响应
无抑制正响应,则直接按标准格式回复就好
【SID + 0X40】+ 【sub-function】
抑制正响应,则服务端不会有任何回复,不响应
控制正响应,主要是为了减少不必要的带宽,因为有些服务是由功能寻址发出来的,而功能寻址是广播的方式发送的,所有节点都进行响应,那同时就会有很多响应报文发出来,占用总线带宽,而这些响应又是可有可无。所以,ECU在接收到抑制正响应位是1的请求报文时,如果回复的是肯定响应,就不需要回复了(否定响应是需要回复的)
最后,如果觉得有帮助,希望你能点个关注,一键三连,感激不尽