如何在CAPL脚本中读取诊断DID响应的第二个字节
CAPL提取DID响应指定字节的解决方案
方法一:直接访问响应原始数据缓冲区
CAPL中诊断响应对象自带data字节数组,可直接通过索引读取指定位置的字节(数组索引从0开始,第二个字节对应索引1):
byte targetByte; // 从F121响应中读取第二个字节 targetByte = Resp_F121.data[1];
方法二:调整参数提取的索引值
如果依赖诊断数据库的参数定义提取,可修改diagGetComplexParameter的第三个参数(元素索引),传入1来获取第二个元素:
byte partNumberSecondByte; // 第三个参数为元素索引,1对应第二个字节 diagGetComplexParameter(Resp_F121, "Logical_Block_0_Part_Number", 1, partNumberSecondByte);
注意事项
- 确保
Resp_F121是已成功接收的有效诊断响应对象 - 提前确认响应数据长度≥2,避免数组越界报错
内容的提问来源于stack exchange,提问作者Nivedita Penugonda
相关产品推荐
相关产品推荐

