| | |
| | | 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) |
| | |
| | | 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++; |
| | |
| | | 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; |
| | |
| | | { |
| | | 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++; |
| | | |
| | | } |
| | | } |
| | |
| | | /* 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); |
| | | |
| | |
| | | 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 |