From ae079c1fc5d990ba55714d4b3a51b19f96edaec4 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 24 四月 2025 16:01:43 +0800 Subject: [PATCH] 改为中断来低电平触发发送当前扫描数据,3s内扫描不到的会退出,串口来55 AA 75 70 64 61 74 65,进入升级模式 --- 01_SDK/nimble/samples/bluetooth/ble_central_periph_ota/src/app_ble.c | 42 ++++++++++++++++++++++++++++++++---------- 1 files changed, 32 insertions(+), 10 deletions(-) diff --git a/01_SDK/nimble/samples/bluetooth/ble_central_periph_ota/src/app_ble.c b/01_SDK/nimble/samples/bluetooth/ble_central_periph_ota/src/app_ble.c index 6d6c2a2..e388883 100644 --- a/01_SDK/nimble/samples/bluetooth/ble_central_periph_ota/src/app_ble.c +++ b/01_SDK/nimble/samples/bluetooth/ble_central_periph_ota/src/app_ble.c @@ -70,6 +70,7 @@ uint8_t slave_send_buf[100]; uint16_t shengji_time; uint8_t only_one; +uint8_t send_flag; void Spi_Zubao_Send(void) { if(blequeue.totalnum>10) @@ -85,23 +86,38 @@ memcpy(&slave_send_buf[5+2*blequeue.totalnum],blequeue.rssi,2*blequeue.totalnum); slave_send_buf[5+4*blequeue.totalnum]=0x66; slave_send_buf[6+4*blequeue.totalnum]=0xBB; - HAL_UART_SendData(&UART0_OBJ, slave_send_buf,blequeue.totalnum*4+7,1000); - blequeue.totalnum=0; +// HAL_UART_SendData(&UART0_OBJ, slave_send_buf,blequeue.totalnum*4+7,1000); + HAL_UART_SendData_DMA(&UART0_OBJ, slave_send_buf,blequeue.totalnum*4+7); +// blequeue.totalnum=0; - memset(blequeue.id,0,sizeof(blequeue.id)); - memset(blequeue.u16id,0,sizeof(blequeue.u16id)); - memset(blequeue.rssi,0,sizeof(blequeue.rssi)); +// memset(blequeue.id,0,sizeof(blequeue.id)); +// memset(blequeue.u16id,0,sizeof(blequeue.u16id)); +// memset(blequeue.rssi,0,sizeof(blequeue.rssi)); } void vTimerCallback( TimerHandle_t xTimer ) { + uint16_t aa,bb; timer++; - Spi_Zubao_Send(); +// Spi_Zubao_Send(); if (shengji_flag==1) { shengji_time++; if(shengji_time>600) { NVIC_SystemReset(); + } + } + for(aa=0;aa<blequeue.totalnum;aa++) + { + blequeue.time[aa]++; + if(blequeue.time[aa]>3) + { + for(bb=aa;bb<blequeue.totalnum;bb++) + { + blequeue.id[bb]=blequeue.id[bb+1]; + blequeue.rssi[bb]=blequeue.rssi[bb+1]; + blequeue.time[bb]=blequeue.time[bb+1]; + } } } } @@ -116,19 +132,20 @@ { if (HAL_GPIO_ReadPin(P0_2) == HAL_GPIO_LEVEL_LOW) { - APP_LOG_INFO("==== HAL_GPIO_LEVEL_LOW ,进入升级模式====\n"); +// APP_LOG_INFO("==== HAL_GPIO_LEVEL_LOW ,进入升级模式====\n"); } else { - APP_LOG_INFO("==== HAL_GPIO_LEVEL_HIGH ,进入升级模式====\n"); +// APP_LOG_INFO("==== HAL_GPIO_LEVEL_HIGH ,进入升级模式====\n"); } - shengji_flag=1; - only_one=1; +// shengji_flag=1; +// only_one=1; #if CONFIG_BT_MAX_NUM_OF_PERIPHERAL /* Adv */ // app_ble_adv_start(); // shengji_start(); #endif + send_flag=1; } } @@ -206,6 +223,11 @@ app_ble_adv_start(); only_one=0; } + if(send_flag) + { + Spi_Zubao_Send(); + send_flag=0; + } } #define MYNEWT_VAL_APP_BLE_THREAD_STACK_SIZE 128 -- Gitblit v1.9.3