控制模块电压(来自OBD模式01 PID 42)和电池电压是否相同?如果没有,它们之间是什么关系?当汽车中的电池电压最大为14 V时,为什么控制模块电压的最大值(来自OBD模式01 PID 42)为65.535 V?
控制模块电压(来自OBD模式01 PID 42)和电池电压是否相同?如果没有,它们之间是什么关系?当汽车中的电池电压最大为14 V时,为什么控制模块电压的最大值(来自OBD模式01 PID 42)为65.535 V?
Answers:
除非您的车辆配备了磁通电容器,否则电池两端的 65 V电压会有点高。就我所知,即使是重型卡车也无法运行该电压。
65535是最大无符号16位整数。
看一下OBD-II Wiki页面,看起来像SAE J1979的OBD-II PID使用的公式是:
( A * 256 + B ) / 1000
其中A是前两个字节,B是后两个字节。如果A和B均为255(二进制为11111111),则将获得最大可能的电压65.535 V
如果这个结果来自模拟器,那我就怪罪了。如果这是来自真实车辆的信号,我将检查ECU短路(虽然不确定)。确保轮询正确的地址,以排除可能的异常电压。
控制模块电压是提供给ECU的电压。它不是电池电压,但通常在车辆行驶时足够接近。
我认为您所看到的只是计算机工作方式的产物。您提供的数字仅为65535,其中已插入小数。这对于计算机来说是一个特殊的数字-它是可以以16位(2字节)整数保存的最大值。简而言之,由于他们决定使用计算机变量,因此这是针对特定测量可以返回的最大值。这是编程的虚构内容-他们不希望它能够测量65伏。如果该值可以为正或负,则可能会看到最大值32,767。
您可能会看到的另一个数字是255。这是8位(单字节)无符号数字的最大值。如果该值可以为正或负,则最大值为127。