From 035ecb85c3513be2b6ab5c515db082cb7fee8f97 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 22 五月 2025 18:11:06 +0800 Subject: [PATCH] 修改bug,io改为不拉 --- 01_SDK/nimble/samples/bluetooth/ble_central_periph_ota/src/app_ble.c | 62 ++++++++++++++++++++++-------- 1 files changed, 45 insertions(+), 17 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 9e58682..369b728 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) @@ -77,23 +78,27 @@ memset(slave_send_buf,0,sizeof(slave_send_buf)); slave_send_buf[0]=0X55; slave_send_buf[1]=0XAA; - slave_send_buf[2]=blequeue.totalnum*4+2; - slave_send_buf[3]=blequeue.totalnum; - memcpy(&slave_send_buf[4],blequeue.id,2*blequeue.totalnum); - memcpy(&slave_send_buf[4+2*blequeue.totalnum],blequeue.rssi,2*blequeue.totalnum); - slave_send_buf[4+4*blequeue.totalnum]=0x66; - slave_send_buf[5+4*blequeue.totalnum]=0xBB; - HAL_UART_SendData(&UART0_OBJ, slave_send_buf,blequeue.totalnum*4+6,1000); - blequeue.totalnum=0; + slave_send_buf[2]=0X41; + + slave_send_buf[3]=blequeue.totalnum*4+2; + slave_send_buf[4]=blequeue.totalnum; + memcpy(&slave_send_buf[5],blequeue.id,2*blequeue.totalnum); + 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); + 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++; @@ -102,8 +107,23 @@ NVIC_SystemReset(); } } + for(aa=0;aa<blequeue.totalnum;aa++) + { + blequeue.time[aa]++; + if(blequeue.time[aa]>4) + { + 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]; + } + blequeue.totalnum--; + } + } } static TaskHandle_t xTaskToNotify = NULL; +uint16_t test; static void gpio_p02_input_callback(HAL_GPIO_IntMode intMode) { BaseType_t xHigherPriorityTaskWoken = pdTRUE; @@ -114,19 +134,21 @@ { 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; + test++; } } @@ -138,7 +160,7 @@ /* Init GPIO P06 to digital input mode */ HAL_GPIO_InitTypeDef GPIO_InitStruct = { .mode = HAL_GPIO_MODE_INPUT_DIGITAL, - .pull = HAL_GPIO_PULL_UP, + .pull = HAL_GPIO_PULL_DISABLE, }; HAL_GPIO_Init(P0_2, &GPIO_InitStruct); @@ -204,6 +226,12 @@ app_ble_adv_start(); only_one=0; } + if(send_flag) + { + Spi_Zubao_Send(); + send_flag=0; +// HAL_GPIO_WritePin(P0_2,HAL_GPIO_LEVEL_HIGH); + } } #define MYNEWT_VAL_APP_BLE_THREAD_STACK_SIZE 128 -- Gitblit v1.9.3