From 9b47c6cc28b0297300b3dcc107a423ba58a86003 Mon Sep 17 00:00:00 2001 From: darya Date: Thu, 19 Feb 2026 12:09:37 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Src/CanSerialPortFrameTP.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Src/CanSerialPortFrameTP.c b/Src/CanSerialPortFrameTP.c index 64588fa..c63e757 100644 --- a/Src/CanSerialPortFrameTP.c +++ b/Src/CanSerialPortFrameTP.c @@ -96,6 +96,7 @@ char *sendLogCanTpHex(tCanSerialPortFrameTp *env, uint8_t *data, size_t size) { uint16_t sendFlowFrame(tCanSerialPortFrameTp *env, uint32_t id, uint32_t timeout) { uint8_t dataTpFrame[8]; + memset(dataTpFrame, TP_FRAME_PADDING, sizeof(dataTpFrame)); eTpFrameFC *frame = (eTpFrameFC *) dataTpFrame; @@ -113,6 +114,7 @@ uint16_t sendFlowFrame(tCanSerialPortFrameTp *env, uint32_t id, uint32_t timeout uint16_t sendSingleFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_t size, uint32_t id, uint32_t timeout) { uint8_t dataTpFrame[8]; + memset(dataTpFrame, TP_FRAME_PADDING, sizeof(dataTpFrame)); eTpFrameSF *frame = (eTpFrameSF *) dataTpFrame; @@ -129,6 +131,7 @@ uint16_t sendSingleFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_t siz uint16_t sendConsecutiveFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_t size, uint32_t id, uint8_t sn, uint32_t timeout) { + uint8_t dataTpFrame[8]; memset(dataTpFrame, TP_FRAME_PADDING, sizeof(dataTpFrame)); @@ -138,6 +141,7 @@ uint16_t sendConsecutiveFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_ memcpy(&frame->data[0], data, size); + SystemDelayMs(25); uint16_t sent = env->ioCanFrame->transmit(env->ioCanFrame->env, (uint8_t *) frame, 8, id, PROTOCOL_CAN_TYPE_UDS, timeout); @@ -198,8 +202,9 @@ bool sendFirstFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_t size, ui pDataLen += 7; ++sn; - if (sn == 15) + if (sn == 15) { sn = 1; + } } if (sizePacketTail) { @@ -407,8 +412,8 @@ _Noreturn void CanTpProcessing_ListenerTask(tCanSerialPortFrameTp *env) { } if (result == TP_RECEIVED_DATA) { - //sendLogCanTpHex(env, env->dataBuf->data, env->dataBuf->len); - //LoggerFormatInfo(LOGGER, LOG_SIGN, "Data received: %s", env->hexString) + sendLogCanTpHex(env, env->dataBuf->data, env->dataBuf->len); + LoggerFormatInfo(LOGGER, LOG_SIGN, "Data received: %s", env->hexString) env->receivedTP_func(env->callback_argTp, env->dataBuf);