Auslesen CAN-BUS, RS-485 oder RS-232 (nur Auslesen)

uint32_t batteryVoltage;

batteryVoltage = rxBuf[4];
batteryVoltage += static_cast < uint32_t > (rxBuf[3]) << 8;
batteryVoltage += static_cast < uint32_t > (rxBuf[6]) << 16;
batteryVoltage += static_cast < uint32_t > (rxBuf[5]) << 24;

Ich würde mal testweise die Indices in den mittleren beiden Bytes tauschen. Der Code baut die Zahl von rechts (LSB) nach links (MSB) auf, da würde ich die Reihenfolge 4-3-6-5 statt 4-6-3-5 sehen. Es ist mir nicht ganz klar, welches Byte die Kollegen vom BMS mit "2nd" und "3rd" meinen.