gpio_io.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /********************************* (C) РОТЕК ***********************************
  2. * @module gpio_io
  3. * @file gpio_io.c
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief gpio_io
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. #include "stm32f4xx.h"
  13. #include "gpio_io.h"
  14. #include <stdbool.h>
  15. #include "tinystdio.h"
  16. /**
  17. * @brief Инициализация дискретных входов-выходов
  18. * @retval
  19. */
  20. void IO_Init(void)
  21. {
  22. GPIO_InitTypeDef GPIO_InitStructure;
  23. RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOE, ENABLE);
  24. /* ----------------------------- Inputs ---------------------------------- */
  25. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  26. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  27. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  28. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  29. /* BUTTON DEFAULT - " " */
  30. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
  31. GPIO_Init(GPIOE, &GPIO_InitStructure);
  32. }
  33. /**
  34. * @brief Получить состояние кнопки DEFAULT
  35. */
  36. bool IO_BtnDefaultPressed(void)
  37. {
  38. return !GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_7); // BUTTON DEFAULT
  39. }
  40. /********************************* (C) РОТЕК **********************************/