From d0941322edc2e53df16a006976eb7653da98b6bf Mon Sep 17 00:00:00 2001 From: wangfq Date: Wed, 1 Jul 2026 11:51:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20mStopIfError/GetMacAddr/get=5Fipstr=5Fto?= =?UTF-8?q?=5Farray=20=E8=AF=AF=E8=A2=AB=20#if=20NET=5FSSC=5FENABLE=20?= =?UTF-8?q?=E6=8E=92=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 这些共享函数被包裹在 #if NET_SSC_ENABLE 中导致链接失败: - mStopIfError — net_srv_init 调用 - GetMacAddr — peripheral_main 调用 - get_ipstr_to_array — tcp_json_srv 调用 修复:在 clear_mqtt_buf 后关闭 #if,mStopIfError 后重开; 在 poll_mqtt 后关闭 #if,get_ipstr_to_array 后重开 --- .../OnlyUpdateApp_Peripheral/APP/net_srv.c | 33 ++++++++----------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/net_srv.c b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/net_srv.c index 0116093..0b237ec 100644 --- a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/net_srv.c +++ b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/net_srv.c @@ -83,6 +83,8 @@ void clear_mqtt_buf(void) memset(mqttBuf, 0, MAX_MQTTBUF_LEN); } +#endif /* NET_SSC_ENABLE */ + /********************************************************************* * @fn mStopIfError * @@ -95,9 +97,11 @@ void clear_mqtt_buf(void) void mStopIfError(u8 iError) { if (iError == WCHNET_ERR_SUCCESS) return; - printf("Error: 0x%02X\r\n", (u16)iError); + printf("Error: 0x%02X +\n", (u16)iError); } +#if NET_SSC_ENABLE void mqtt_connect(void) { @@ -606,6 +610,8 @@ void poll_mqtt(void) } } +#endif /* NET_SSC_ENABLE */ + /******************************************************************************* * Function Name : GetMacAddr @@ -630,51 +636,38 @@ void GetMacAddr(unsigned char *pMAC) // ��IPv4��ַ�ַ���ת��Ϊ4�ֽڵ�uint8_t���飬�������ϸ�Ĵ����� int get_ipstr_to_array(char *src, uint8_t *dst) { if (src == NULL || dst == NULL) { - return -1; // ��Чָ�� + return -1; } int part_count = 0; char *token = NULL; char *saveptr = NULL; const char *delim = "."; - // �����ַ���Ӧ���ÿ��޸ĵ��ڴ棨���������ڴ棩����Ϊstrtok_r���޸��ַ��� - // �账�������޸ĵ��ַ��������Ƚ��п��� char src_copy[16]; strncpy(src_copy, src, sizeof(src_copy)); src_copy[15] = '\0'; - // �״ηָ� token = strtok_r(src_copy, delim, &saveptr); while (token != NULL && part_count < 4) { char *endptr = NULL; long val = strtol(token, &endptr, 10); - - // ���ת����Ч�� if (*endptr != '\0' || val < 0 || val > 255) { - return -2; // �����ֻ򳬳���Χ + return -2; } - dst[part_count++] = (uint8_t)val; - - // �����ָ� token = strtok_r(NULL, delim, &saveptr); } - - // ����Ƿ�������4���� if (part_count != 4) { - return -3; // ������������ + return -3; } - - // ����Ƿ��ж����ַ� if (token != NULL || (saveptr != NULL && *saveptr != '\0')) { - return -4; // ���ڶ���ָ������ַ� + return -4; } - - return 0; // �ɹ� + return 0; } - +#if NET_SSC_ENABLE void unpack_ssc_count_off(uint8_t socket,uint8_t count_mode, uint8_t *ip, uint16_t port, uint8_t *buf, uint32_t len) {