diff --git a/Src/SerialPortLinArtery.c b/Src/SerialPortLinArtery.c index 7ecd5ae..f7f2e53 100644 --- a/Src/SerialPortLinArtery.c +++ b/Src/SerialPortLinArtery.c @@ -493,7 +493,7 @@ static uint8_t vLinTransmitCommand(tSerialPortLinArtery *env, tLinData *linData, return LIN_TIMEOUT; } -static uint8_t vLinReceivedCommand(tSerialPortLinArtery *env, tLinData *linData, uint32_t timeout) { +static uint8_t vLinReceivedCommand(tSerialPortLinArtery *env, tLinData *linData, uint8_t *ADR_COM, uint32_t timeout) { lin_frame_t rxFrame; // uint16_t len = vSerialPortLinReceiveQueue(env, (void *) &rxFrame, sizeof(lin_frame_t), osWaitForever, env->rxDataQueue); @@ -504,9 +504,9 @@ static uint8_t vLinReceivedCommand(tSerialPortLinArtery *env, tLinData *linData, if (rxFrame.event == LIN_RX_COMPLETED) { linData->g_aRxBufferLen = rxFrame.dataLen + 1; - linData->g_aRxBuffer[0] = rxFrame.id; + *ADR_COM = rxFrame.id & 0x3F; for (uint8_t i = 0; i < rxFrame.dataLen; ++i) { - linData->g_aRxBuffer[i + 1] = rxFrame.data[i]; + linData->g_aRxBuffer[i] = rxFrame.data[i]; } }