gpio.c 969 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "stm32f0xx_hal.h"
  2. #include "gpio.h"
  3. #define SET_OUT_1 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET)
  4. #define RESET_OUT_1 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET)
  5. //
  6. void gpio_init(void)
  7. {
  8. GPIO_InitTypeDef GPIO_InitStruct = {0};
  9. __HAL_RCC_GPIOA_CLK_ENABLE();
  10. __HAL_RCC_GPIOB_CLK_ENABLE();
  11. // LED - индикация входного сигнала
  12. GPIO_InitStruct.Pin = GPIO_PIN_2;
  13. GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  14. GPIO_InitStruct.Pull = GPIO_PULLDOWN;
  15. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  16. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  17. GPIO_InitStruct.Pin = GPIO_PIN_1;
  18. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  19. HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET);
  20. HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);
  21. }
  22. //
  23. void gpio_set_output(bool state)
  24. {
  25. if (state == true) {
  26. SET_OUT_1;
  27. }
  28. else {
  29. RESET_OUT_1;
  30. }
  31. }