drv_ext_io.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2018-11-5 zylx first version
  9. */
  10. #ifndef __EXT_IO_H__
  11. #define __EXT_IO_H__
  12. #include "rtthread.h"
  13. /*
  14. armfly STM32-V6 Development board Extend IO
  15. D0 - GPRS_RERM_ON
  16. D1 - GPRS_RESET
  17. D2 - NRF24L01_CE
  18. D3 - NRF905_TX_EN
  19. D4 - NRF905_TRX_CE/VS1053_XDCS
  20. D5 - NRF905_PWR_UP
  21. D6 - ESP8266_G0
  22. D7 - ESP8266_G2
  23. D8 - LED1
  24. D9 - LED2
  25. D10 - LED3
  26. D11 - LED4
  27. D12 - TP_NRST
  28. D13 - AD7606_OS0
  29. D14 - AD7606_OS1
  30. D15 - AD7606_OS2
  31. GPIO can output 5V
  32. D16 - Y50_0
  33. D17 - Y50_1
  34. D18 - Y50_2
  35. D19 - Y50_3
  36. D20 - Y50_4
  37. D21 - Y50_5
  38. D22 - Y50_6
  39. D23 - Y50_7
  40. GPIO can output 3.3V
  41. D24 - AD7606_RESET
  42. D25 - AD7606_RAGE
  43. D26 - Y33_2
  44. D27 - Y33_3
  45. D28 - Y33_4
  46. D29 - Y33_5
  47. D30 - Y33_6
  48. D31 - Y33_7
  49. */
  50. #ifndef GPIO_Pin_0
  51. #define GPIO_Pin_0 ((uint16_t)0x0001) /* Pin 0 selected */
  52. #define GPIO_Pin_1 ((uint16_t)0x0002) /* Pin 1 selected */
  53. #define GPIO_Pin_2 ((uint16_t)0x0004) /* Pin 2 selected */
  54. #define GPIO_Pin_3 ((uint16_t)0x0008) /* Pin 3 selected */
  55. #define GPIO_Pin_4 ((uint16_t)0x0010) /* Pin 4 selected */
  56. #define GPIO_Pin_5 ((uint16_t)0x0020) /* Pin 5 selected */
  57. #define GPIO_Pin_6 ((uint16_t)0x0040) /* Pin 6 selected */
  58. #define GPIO_Pin_7 ((uint16_t)0x0080) /* Pin 7 selected */
  59. #define GPIO_Pin_8 ((uint16_t)0x0100) /* Pin 8 selected */
  60. #define GPIO_Pin_9 ((uint16_t)0x0200) /* Pin 9 selected */
  61. #define GPIO_Pin_10 ((uint16_t)0x0400) /* Pin 10 selected */
  62. #define GPIO_Pin_11 ((uint16_t)0x0800) /* Pin 11 selected */
  63. #define GPIO_Pin_12 ((uint16_t)0x1000) /* Pin 12 selected */
  64. #define GPIO_Pin_13 ((uint16_t)0x2000) /* Pin 13 selected */
  65. #define GPIO_Pin_14 ((uint16_t)0x4000) /* Pin 14 selected */
  66. #define GPIO_Pin_15 ((uint16_t)0x8000) /* Pin 15 selected */
  67. #endif
  68. #define GPIO_Pin_16 ((uint32_t)0x00010000) /* Pin 0 selected */
  69. #define GPIO_Pin_17 ((uint32_t)0x00020000) /* Pin 1 selected */
  70. #define GPIO_Pin_18 ((uint32_t)0x00040000) /* Pin 2 selected */
  71. #define GPIO_Pin_19 ((uint32_t)0x00080000) /* Pin 3 selected */
  72. #define GPIO_Pin_20 ((uint32_t)0x00100000) /* Pin 4 selected */
  73. #define GPIO_Pin_21 ((uint32_t)0x00200000) /* Pin 5 selected */
  74. #define GPIO_Pin_22 ((uint32_t)0x00400000) /* Pin 6 selected */
  75. #define GPIO_Pin_23 ((uint32_t)0x00800000) /* Pin 7 selected */
  76. #define GPIO_Pin_24 ((uint32_t)0x01000000) /* Pin 8 selected */
  77. #define GPIO_Pin_25 ((uint32_t)0x02000000) /* Pin 9 selected */
  78. #define GPIO_Pin_26 ((uint32_t)0x04000000) /* Pin 10 selected */
  79. #define GPIO_Pin_27 ((uint32_t)0x08000000) /* Pin 11 selected */
  80. #define GPIO_Pin_28 ((uint32_t)0x10000000) /* Pin 12 selected */
  81. #define GPIO_Pin_29 ((uint32_t)0x20000000) /* Pin 13 selected */
  82. #define GPIO_Pin_30 ((uint32_t)0x40000000) /* Pin 14 selected */
  83. #define GPIO_Pin_31 ((uint32_t)0x80000000) /* Pin 15 selected */
  84. /* Rename the macro for the sake of memory */
  85. #define GPRS_TERM_ON GPIO_Pin_0
  86. #define GPRS_RESET GPIO_Pin_1
  87. #define NRF24L01_CE GPIO_Pin_2
  88. #define NRF905_TX_EN GPIO_Pin_3
  89. #define NRF905_TRX_CE GPIO_Pin_4
  90. #define VS1053_XDCS GPIO_Pin_4
  91. #define NRF905_PWR_UP GPIO_Pin_5
  92. #define ESP8266_G0 GPIO_Pin_6
  93. #define ESP8266_G2 GPIO_Pin_7
  94. #define LED1 GPIO_Pin_8
  95. #define LED2 GPIO_Pin_9
  96. #define LED3 GPIO_Pin_10
  97. #define LED4 GPIO_Pin_11
  98. #define TP_NRST GPIO_Pin_12
  99. #define AD7606_OS0 GPIO_Pin_13
  100. #define AD7606_OS1 GPIO_Pin_14
  101. #define AD7606_OS2 GPIO_Pin_15
  102. #define Y50_0 GPIO_Pin_16
  103. #define Y50_1 GPIO_Pin_17
  104. #define Y50_2 GPIO_Pin_18
  105. #define Y50_3 GPIO_Pin_19
  106. #define Y50_4 GPIO_Pin_20
  107. #define Y50_5 GPIO_Pin_21
  108. #define Y50_6 GPIO_Pin_22
  109. #define Y50_7 GPIO_Pin_23
  110. #define AD7606_RESET GPIO_Pin_24
  111. #define AD7606_RANGE GPIO_Pin_25
  112. #define Y33_2 GPIO_Pin_26
  113. #define Y33_3 GPIO_Pin_27
  114. #define Y33_4 GPIO_Pin_28
  115. #define Y33_5 GPIO_Pin_29
  116. #define Y33_6 GPIO_Pin_30
  117. #define Y33_7 GPIO_Pin_31
  118. void HC574_SetPin(rt_uint32_t _pin, uint8_t _value);
  119. rt_uint8_t HC574_GetPin(rt_uint32_t _pin);
  120. #endif /* __EXT_IO_H__ */