#include "stdbool.h" #include "delay.h" #include "hal_ble.h" #include "hal_spi.h" #include "board.h" #include "sys_log.h" void HAL_BleEnGpioInit(void) { GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP; GPIO_Initure.Pull=GPIO_PULLDOWN; GPIO_Initure.Speed=GPIO_SPEED_FREQ_LOW; GPIO_Initure.Pin=BLE_EN_PIN; HAL_GPIO_Init(BLE_EN_GPIO,&GPIO_Initure); HAL_GPIO_WritePin(BLE_EN_GPIO,BLE_EN_PIN,GPIO_PIN_RESET); } void HAL_BleGpioEn(bool flag) { if(flag) { HAL_GPIO_WritePin(BLE_EN_GPIO,BLE_EN_PIN, GPIO_PIN_SET); } else { HAL_GPIO_WritePin(BLE_EN_GPIO,BLE_EN_PIN, GPIO_PIN_RESET); } } void HAL_BleReboot(void) { HAL_BleGpioEn(false); HAL_SpiUnint(); HAL_SpiSetCsPin(0); HAL_SpiClockPinReset(); delay_ms(200); HAL_BleGpioEn(true); HAL_SpiGpioInit(); HAL_SpiSetCsPin(1); }