From 16e1f49871e2e9579335466dcbc73bedf87ba98f Mon Sep 17 00:00:00 2001 From: hcj <1224667075@qq.com> Date: Tue, 8 Oct 2024 09:48:44 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E5=A4=8D=E8=93=9D=E7=89=99=E9=87=8A?= =?utf8?q?=E6=94=BE=EF=BC=8C=E5=BC=82=E6=AD=A5=E8=BF=9B=E7=A8=8B=E9=87=8A?= =?utf8?q?=E6=94=BE=E5=8F=AF=E8=83=BD=E6=AD=BB=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../service/ble_service/bleservice/bleEvent.c | 14 ++++++++++++++ .../service/ble_service/bleservice/bleService.c | 2 ++ 2 files changed, 16 insertions(+) diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c index 7e2ee1f3f..f1edce5b7 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c @@ -8520,6 +8520,14 @@ void bleDataRecv(uint8_t *totalData, uint16_t event_size,uint16_t handle) } void free_ble_data(void)//以防断开蓝牙没有释放数据类型 +{ + blesrv_service_recv_msg_handler(0xff,(uint8_t*)"clean",6); + return; + +} + + +void free_ble_data_Event(void)//以防断开蓝牙没有释放数据类型 { totalpack = 0; @@ -8549,6 +8557,12 @@ void free_ble_data(void)//以防断开蓝牙没有释放数据类型 void revBleOldData(uint8_t *buf, uint16_t event_size,uint16_t handle)//每包的数据大小 { printf("handle :%d %s event_size %d\r\n",handle,getHandlname(handle),event_size); + if(handle==0xff) + { + free_ble_data_Event(); + return; + } + bleDataRecv(buf,event_size,handle); } #endif diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c index f44175549..f0a03b5af 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c @@ -411,6 +411,7 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl svr_ble_adv_start(); Bleconnect = GAP_BLE_STATE_DISCONNECTED;//蓝牙已断开 ble_disconnect_ok(); + free_ble_data(); if(get_ble_pair()) @@ -1597,6 +1598,7 @@ void blesrv_service_recv_msg_handler(uint16_t srv_handle, uint8_t * msg_data, ui blesrv_mail.service_handle = srv_handle; blesrv_mail.msg_len = msg_len; blesrv_mail.msg_data = (uint8_t*)malloc(msg_len); + if(blesrv_mail.msg_data==NULL) { return ; -- 2.17.1