From b479ee103a50f70ee2b4ff8c12e3d53d2f9ec289 Mon Sep 17 00:00:00 2001 From: OPTOC <9159397+optoc@user.noreply.gitee.com> Date: Mon, 27 Oct 2025 18:34:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=A2=E5=BC=83=E9=A6=96=E6=AC=A1=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5APP=E5=8F=91=E9=80=81=E8=BF=87=E6=9D=A5=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=BD=AC=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/drivers/sertrf/device.c | 1 + app/drivers/sertrf/device.h | 2 ++ app/drivers/sertrf/sertrf.c | 7 +++++++ 3 files changed, 10 insertions(+) diff --git a/app/drivers/sertrf/device.c b/app/drivers/sertrf/device.c index 1f6f144..60e4e7b 100644 --- a/app/drivers/sertrf/device.c +++ b/app/drivers/sertrf/device.c @@ -91,6 +91,7 @@ static void ble_server_connect_handler(ble_server_status_t status) if(res == DEVICE_PC_ERROR){ } device_wifi_stop(); + device_inside->ble_one_connect_flag = 1; SYS_LOG_INF("ble Connected"); } else if(status == BLE_SERVER_STATUS_DISCONNECTED){ uint8_t res = pc_device_choice_inside(NULL, DATA_PORT_TYPE_BLE_VAL, DISCONNECT); diff --git a/app/drivers/sertrf/device.h b/app/drivers/sertrf/device.h index f0ce4d3..67261d1 100644 --- a/app/drivers/sertrf/device.h +++ b/app/drivers/sertrf/device.h @@ -96,6 +96,8 @@ typedef struct // int (*embedded_write)(device_t *port, const void *data, uint32_t size); uint8_t last_color; + // 每次刚连接ble都会将标志位置一 ,因为连接上app后,app会发送一段字符串,这段字符串我暂时用不到需要抛弃,不然会影响异常飞控固件升级 + uint8_t ble_one_connect_flag; }device_t; /** diff --git a/app/drivers/sertrf/sertrf.c b/app/drivers/sertrf/sertrf.c index ba230d2..98e0958 100644 --- a/app/drivers/sertrf/sertrf.c +++ b/app/drivers/sertrf/sertrf.c @@ -118,6 +118,7 @@ void embedded_thread(void* arg) } void pc_thread(void* arg) { + static bool app_pc_discard = true; while(true) { uint32_t pc_size = pc_device_get_rx_length(&sertrf.device); @@ -127,6 +128,12 @@ void pc_thread(void* arg) uint8_t data[pc_size]; pc_device_read(&sertrf.device, data, pc_size); // SYS_LOG_INF("data : %s", data); + // 由于APP连接上后,会发送一串我用不到的数据,需要丢弃掉,不然会影响我异常飞控固件升级 + if(sertrf.device.ble_one_connect_flag == 1) + { + sertrf.device.ble_one_connect_flag = 0; + continue; + } if(!sertrf.stmisp_device.flag) embedded_device_write(&sertrf.device, data, pc_size); }