hal_ble.c 968 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "stdbool.h"
  2. #include "delay.h"
  3. #include "hal_ble.h"
  4. #include "hal_spi.h"
  5. #include "board.h"
  6. #include "sys_log.h"
  7. void HAL_BleEnGpioInit(void)
  8. {
  9. GPIO_InitTypeDef GPIO_Initure;
  10. __HAL_RCC_GPIOA_CLK_ENABLE();
  11. GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;
  12. GPIO_Initure.Pull=GPIO_PULLDOWN;
  13. GPIO_Initure.Speed=GPIO_SPEED_FREQ_LOW;
  14. GPIO_Initure.Pin=BLE_EN_PIN;
  15. HAL_GPIO_Init(BLE_EN_GPIO,&GPIO_Initure);
  16. HAL_GPIO_WritePin(BLE_EN_GPIO,BLE_EN_PIN,GPIO_PIN_RESET);
  17. }
  18. void HAL_BleGpioEn(bool flag)
  19. {
  20. if(flag)
  21. {
  22. HAL_GPIO_WritePin(BLE_EN_GPIO,BLE_EN_PIN, GPIO_PIN_SET);
  23. }
  24. else
  25. {
  26. HAL_GPIO_WritePin(BLE_EN_GPIO,BLE_EN_PIN, GPIO_PIN_RESET);
  27. }
  28. }
  29. void HAL_BleReboot(void)
  30. {
  31. HAL_BleGpioEn(false);
  32. HAL_SpiUnint();
  33. HAL_SpiSetCsPin(0);
  34. HAL_SpiClockPinReset();
  35. delay_ms(200);
  36. HAL_BleGpioEn(true);
  37. HAL_SpiGpioInit();
  38. HAL_SpiSetCsPin(1);
  39. }