stm32f429引脚复用

以下内容在stm32f4xx_gpio.h内

[cpp]  view plain  copy
  1. /** @defgroup GPIO_Alternat_function_selection_define  
  2.   * @{ 
  3.   */   
  4. /**  
  5.   * @brief   AF 0 selection   
  6.   */   
  7. #define GPIO_AF_RTC_50Hz      ((uint8_t)0x00)  /* RTC_50Hz Alternate Function mapping */  
  8. #define GPIO_AF_MCO           ((uint8_t)0x00)  /* MCO (MCO1 and MCO2) Alternate Function mapping */  
  9. #define GPIO_AF_TAMPER        ((uint8_t)0x00)  /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */  
  10. #define GPIO_AF_SWJ           ((uint8_t)0x00)  /* SWJ (SWD and JTAG) Alternate Function mapping */  
  11. #define GPIO_AF_TRACE         ((uint8_t)0x00)  /* TRACE Alternate Function mapping */  
  12. #if defined (STM32F446xx)  
  13. #define GPIO_AF0_TIM2         ((uint8_t)0x00)  /* TIM2 Alternate Function mapping */  
  14. #endif /* STM32F446xx */  
  15.   
  16. /**  
  17.   * @brief   AF 1 selection   
  18.   */   
  19. #define GPIO_AF_TIM1          ((uint8_t)0x01)  /* TIM1 Alternate Function mapping */  
  20. #define GPIO_AF_TIM2          ((uint8_t)0x01)  /* TIM2 Alternate Function mapping */  
  21.   
  22. /**  
  23.   * @brief   AF 2 selection   
  24.   */   
  25. #define GPIO_AF_TIM3          ((uint8_t)0x02)  /* TIM3 Alternate Function mapping */  
  26. #define GPIO_AF_TIM4          ((uint8_t)0x02)  /* TIM4 Alternate Function mapping */  
  27. #define GPIO_AF_TIM5          ((uint8_t)0x02)  /* TIM5 Alternate Function mapping */  
  28.   
  29. /**  
  30.   * @brief   AF 3 selection   
  31.   */   
  32. #define GPIO_AF_TIM8          ((uint8_t)0x03)  /* TIM8 Alternate Function mapping */  
  33. #define GPIO_AF_TIM9          ((uint8_t)0x03)  /* TIM9 Alternate Function mapping */  
  34. #define GPIO_AF_TIM10         ((uint8_t)0x03)  /* TIM10 Alternate Function mapping */  
  35. #define GPIO_AF_TIM11         ((uint8_t)0x03)  /* TIM11 Alternate Function mapping */  
  36. #if defined (STM32F446xx)  
  37. #define GPIO_AF3_CEC          ((uint8_t)0x03)  /* CEC Alternate Function mapping */  
  38. #endif /* STM32F446xx */  
  39. /**  
  40.   * @brief   AF 4 selection   
  41.   */   
  42. #define GPIO_AF_I2C1          ((uint8_t)0x04)  /* I2C1 Alternate Function mapping */  
  43. #define GPIO_AF_I2C2          ((uint8_t)0x04)  /* I2C2 Alternate Function mapping */  
  44. #define GPIO_AF_I2C3          ((uint8_t)0x04)  /* I2C3 Alternate Function mapping */  
  45. #if defined (STM32F446xx)  
  46. #define GPIO_AF4_CEC          ((uint8_t)0x04)  /* CEC Alternate Function mapping */  
  47. #define GPIO_AF_FMPI2C        ((uint8_t)0x04)  /* FMPI2C Alternate Function mapping */  
  48. #endif /* STM32F446xx */  
  49.   
  50. /**  
  51.   * @brief   AF 5 selection   
  52.   */   
  53. #define GPIO_AF_SPI1          ((uint8_t)0x05)  /* SPI1/I2S1 Alternate Function mapping */  
  54. #define GPIO_AF_SPI2          ((uint8_t)0x05)  /* SPI2/I2S2 Alternate Function mapping */  
  55. #define GPIO_AF5_SPI3         ((uint8_t)0x05)  /* SPI3/I2S3 Alternate Function mapping (Only for STM32F411xE Devices) */  
  56. #define GPIO_AF_SPI4          ((uint8_t)0x05)  /* SPI4/I2S4 Alternate Function mapping */  
  57. #define GPIO_AF_SPI5          ((uint8_t)0x05)  /* SPI5 Alternate Function mapping      */  
  58. #define GPIO_AF_SPI6          ((uint8_t)0x05)  /* SPI6 Alternate Function mapping      */  
  59.   
  60. /**  
  61.   * @brief   AF 6 selection   
  62.   */   
  63. #define GPIO_AF_SPI3          ((uint8_t)0x06)  /* SPI3/I2S3 Alternate Function mapping */  
  64. #define GPIO_AF6_SPI2         ((uint8_t)0x06)  /* SPI2 Alternate Function mapping (Only for STM32F411xE Devices) */  
  65. #define GPIO_AF6_SPI4         ((uint8_t)0x06)  /* SPI4 Alternate Function mapping (Only for STM32F411xE Devices) */  
  66. #define GPIO_AF6_SPI5         ((uint8_t)0x06)  /* SPI5 Alternate Function mapping (Only for STM32F411xE Devices) */  
  67. #define GPIO_AF_SAI1          ((uint8_t)0x06)  /* SAI1 Alternate Function mapping      */  
  68.   
  69. /**  
  70.   * @brief   AF 7 selection   
  71.   */   
  72. #define GPIO_AF_USART1         ((uint8_t)0x07)  /* USART1 Alternate Function mapping  */  
  73. #define GPIO_AF_USART2         ((uint8_t)0x07)  /* USART2 Alternate Function mapping  */  
  74. #define GPIO_AF_USART3         ((uint8_t)0x07)  /* USART3 Alternate Function mapping  */  
  75. #define GPIO_AF7_SPI3          ((uint8_t)0x07)  /* SPI3/I2S3ext Alternate Function mapping */  
  76.   
  77. /**  
  78.   * @brief   AF 7 selection Legacy  
  79.   */   
  80. #define GPIO_AF_I2S3ext   GPIO_AF7_SPI3  
  81.   
  82. /**  
  83.   * @brief   AF 8 selection   
  84.   */   
  85. #define GPIO_AF_UART4         ((uint8_t)0x08)  /* UART4 Alternate Function mapping  */  
  86. #define GPIO_AF_UART5         ((uint8_t)0x08)  /* UART5 Alternate Function mapping  */  
  87. #define GPIO_AF_USART6        ((uint8_t)0x08)  /* USART6 Alternate Function mapping */  
  88. #define GPIO_AF_UART7         ((uint8_t)0x08)  /* UART7 Alternate Function mapping  */  
  89. #define GPIO_AF_UART8         ((uint8_t)0x08)  /* UART8 Alternate Function mapping  */  
  90. #if defined (STM32F446xx)  
  91. #define GPIO_AF8_SAI2          ((uint8_t)0x08)  /* SAI2 Alternate Function mapping */  
  92. #define GPIO_AF_SPDIF         ((uint8_t)0x08)   /* SPDIF Alternate Function mapping */  
  93. #endif /* STM32F446xx */  
  94.   
  95. /**  
  96.   * @brief   AF 9 selection  
  97.   */   
  98. #define GPIO_AF_CAN1          ((uint8_t)0x09)  /* CAN1 Alternate Function mapping  */  
  99. #define GPIO_AF_CAN2          ((uint8_t)0x09)  /* CAN2 Alternate Function mapping  */  
  100. #define GPIO_AF_TIM12         ((uint8_t)0x09)  /* TIM12 Alternate Function mapping */  
  101. #define GPIO_AF_TIM13         ((uint8_t)0x09)  /* TIM13 Alternate Function mapping */  
  102. #define GPIO_AF_TIM14         ((uint8_t)0x09)  /* TIM14 Alternate Function mapping */  
  103.   
  104. #define GPIO_AF9_I2C2         ((uint8_t)0x09)  /* I2C2 Alternate Function mapping (Only for STM32F401xx/STM32F411xE Devices) */  
  105. #define GPIO_AF9_I2C3         ((uint8_t)0x09)  /* I2C3 Alternate Function mapping (Only for STM32F401xx/STM32F411xE Devices) */  
  106. #if defined (STM32F446xx)  
  107. #define GPIO_AF9_SAI2         ((uint8_t)0x09)  /* SAI2 Alternate Function mapping */  
  108. #endif /* STM32F446xx */  
  109. #define GPIO_AF9_LTDC         ((uint8_t)0x09)  /* LTDC Alternate Function mapping */  
  110. #if defined (STM32F446xx)  
  111. #define GPIO_AF9_QUADSPI      ((uint8_t)0x09)  /* QuadSPI Alternate Function mapping */  
  112. #endif /* STM32F446xx */  
  113. /**  
  114.   * @brief   AF 10 selection   
  115.   */   
  116. #define GPIO_AF_OTG_FS         ((uint8_t)0xA)  /* OTG_FS Alternate Function mapping */  
  117. #define GPIO_AF_OTG_HS         ((uint8_t)0xA)  /* OTG_HS Alternate Function mapping */  
  118. #if defined (STM32F446xx)  
  119. #define GPIO_AF10_SAI2         ((uint8_t)0x0A)  /* SAI2 Alternate Function mapping */  
  120. #endif /* STM32F446xx */  
  121. #if defined (STM32F446xx)  
  122. #define GPIO_AF10_QUADSPI      ((uint8_t)0x0A)  /* QuadSPI Alternate Function mapping */  
  123. #endif /* STM32F446xx */  
  124. /**  
  125.   * @brief   AF 11 selection   
  126.   */   
  127. #define GPIO_AF_ETH             ((uint8_t)0x0B)  /* ETHERNET Alternate Function mapping */  
  128.   
  129. /**  
  130.   * @brief   AF 12 selection   
  131.   */   
  132. #if defined (STM32F40_41xxx)  
  133. #define GPIO_AF_FSMC             ((uint8_t)0xC)  /* FSMC Alternate Function mapping                     */  
  134. #endif /* STM32F40_41xxx */  
  135.   
  136. #if defined (STM32F427_437xx) || defined (STM32F429_439xx) || defined (STM32F446xx)  
  137. #define GPIO_AF_FMC              ((uint8_t)0xC)  /* FMC Alternate Function mapping                      */  
  138. #endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx */  
  139.   
  140. #define GPIO_AF_OTG_HS_FS        ((uint8_t)0xC)  /* OTG HS configured in FS, Alternate Function mapping */  
  141. #define GPIO_AF_SDIO             ((uint8_t)0xC)  /* SDIO Alternate Function mapping                     */  
  142.   
  143. /**  
  144.   * @brief   AF 13 selection   
  145.   */   
  146. #define GPIO_AF_DCMI          ((uint8_t)0x0D)  /* DCMI Alternate Function mapping */  
  147.   
  148. /**  
  149.   * @brief   AF 14 selection   
  150.   */  
  151. #define GPIO_AF_LTDC          ((uint8_t)0x0E)  /* LCD-TFT Alternate Function mapping */  
  152.   
  153. /**  
  154.   * @brief   AF 15 selection   
  155.   */   
  156. #define GPIO_AF_EVENTOUT      ((uint8_t)0x0F)  /* EVENTOUT Alternate Function mapping */  
  157.   
  158. #if defined (STM32F40_41xxx)  
  159. #define IS_GPIO_AF(AF)   (((AF) == GPIO_AF_RTC_50Hz)  || ((AF) == GPIO_AF_TIM14)     || \  
  160.                           ((AF) == GPIO_AF_MCO)       || ((AF) == GPIO_AF_TAMPER)    || \  
  161.                           ((AF) == GPIO_AF_SWJ)       || ((AF) == GPIO_AF_TRACE)     || \  
  162.                           ((AF) == GPIO_AF_TIM1)      || ((AF) == GPIO_AF_TIM2)      || \  
  163.                           ((AF) == GPIO_AF_TIM3)      || ((AF) == GPIO_AF_TIM4)      || \  
  164.                           ((AF) == GPIO_AF_TIM5)      || ((AF) == GPIO_AF_TIM8)      || \  
  165.                           ((AF) == GPIO_AF_I2C1)      || ((AF) == GPIO_AF_I2C2)      || \  
  166.                           ((AF) == GPIO_AF_I2C3)      || ((AF) == GPIO_AF_SPI1)      || \  
  167.                           ((AF) == GPIO_AF_SPI2)      || ((AF) == GPIO_AF_TIM13)     || \  
  168.                           ((AF) == GPIO_AF_SPI3)      || ((AF) == GPIO_AF_TIM14)     || \  
  169.                           ((AF) == GPIO_AF_USART1)    || ((AF) == GPIO_AF_USART2)    || \  
  170.                           ((AF) == GPIO_AF_USART3)    || ((AF) == GPIO_AF_UART4)     || \  
  171.                           ((AF) == GPIO_AF_UART5)     || ((AF) == GPIO_AF_USART6)    || \  
  172.                           ((AF) == GPIO_AF_CAN1)      || ((AF) == GPIO_AF_CAN2)      || \  
  173.                           ((AF) == GPIO_AF_OTG_FS)    || ((AF) == GPIO_AF_OTG_HS)    || \  
  174.                           ((AF) == GPIO_AF_ETH)       || ((AF) == GPIO_AF_OTG_HS_FS) || \  
  175.                           ((AF) == GPIO_AF_SDIO)      || ((AF) == GPIO_AF_DCMI)      || \  
  176.                           ((AF) == GPIO_AF_EVENTOUT)  || ((AF) == GPIO_AF_FSMC))  
  177. #endif /* STM32F40_41xxx */  
  178.   
  179. #if defined (STM32F401xx)  
  180. #define IS_GPIO_AF(AF)   (((AF) == GPIO_AF_RTC_50Hz)  || ((AF) == GPIO_AF_TIM14)     || \  
  181.                           ((AF) == GPIO_AF_MCO)       || ((AF) == GPIO_AF_TAMPER)    || \  
  182.                           ((AF) == GPIO_AF_SWJ)       || ((AF) == GPIO_AF_TRACE)     || \  
  183.                           ((AF) == GPIO_AF_TIM1)      || ((AF) == GPIO_AF_TIM2)      || \  
  184.                           ((AF) == GPIO_AF_TIM3)      || ((AF) == GPIO_AF_TIM4)      || \  
  185.                           ((AF) == GPIO_AF_TIM5)      || ((AF) == GPIO_AF_TIM8)      || \  
  186.                           ((AF) == GPIO_AF_I2C1)      || ((AF) == GPIO_AF_I2C2)      || \  
  187.                           ((AF) == GPIO_AF_I2C3)      || ((AF) == GPIO_AF_SPI1)      || \  
  188.                           ((AF) == GPIO_AF_SPI2)      || ((AF) == GPIO_AF_TIM13)     || \  
  189.                           ((AF) == GPIO_AF_SPI3)      || ((AF) == GPIO_AF_TIM14)     || \  
  190.                           ((AF) == GPIO_AF_USART1)    || ((AF) == GPIO_AF_USART2)    || \  
  191.                           ((AF) == GPIO_AF_SDIO)      || ((AF) == GPIO_AF_USART6)    || \  
  192.                           ((AF) == GPIO_AF_OTG_FS)    || ((AF) == GPIO_AF_OTG_HS)    || \  
  193.                           ((AF) == GPIO_AF_EVENTOUT)  || ((AF) == GPIO_AF_SPI4))  
  194. #endif /* STM32F401xx */  
  195.   
  196. #if defined (STM32F411xE)  
  197. #define IS_GPIO_AF(AF)   (((AF) < 16) && ((AF) != 11) && ((AF) != 13) && ((AF) != 14))  
  198. #endif /* STM32F411xE */  
  199.   
  200. #if defined (STM32F427_437xx) || defined (STM32F429_439xx)  
  201. #define IS_GPIO_AF(AF)   (((AF) == GPIO_AF_RTC_50Hz)  || ((AF) == GPIO_AF_TIM14)     || \  
  202.                           ((AF) == GPIO_AF_MCO)       || ((AF) == GPIO_AF_TAMPER)    || \  
  203.                           ((AF) == GPIO_AF_SWJ)       || ((AF) == GPIO_AF_TRACE)     || \  
  204.                           ((AF) == GPIO_AF_TIM1)      || ((AF) == GPIO_AF_TIM2)      || \  
  205.                           ((AF) == GPIO_AF_TIM3)      || ((AF) == GPIO_AF_TIM4)      || \  
  206.                           ((AF) == GPIO_AF_TIM5)      || ((AF) == GPIO_AF_TIM8)      || \  
  207.                           ((AF) == GPIO_AF_I2C1)      || ((AF) == GPIO_AF_I2C2)      || \  
  208.                           ((AF) == GPIO_AF_I2C3)      || ((AF) == GPIO_AF_SPI1)      || \  
  209.                           ((AF) == GPIO_AF_SPI2)      || ((AF) == GPIO_AF_TIM13)     || \  
  210.                           ((AF) == GPIO_AF_SPI3)      || ((AF) == GPIO_AF_TIM14)     || \  
  211.                           ((AF) == GPIO_AF_USART1)    || ((AF) == GPIO_AF_USART2)    || \  
  212.                           ((AF) == GPIO_AF_USART3)    || ((AF) == GPIO_AF_UART4)     || \  
  213.                           ((AF) == GPIO_AF_UART5)     || ((AF) == GPIO_AF_USART6)    || \  
  214.                           ((AF) == GPIO_AF_CAN1)      || ((AF) == GPIO_AF_CAN2)      || \  
  215.                           ((AF) == GPIO_AF_OTG_FS)    || ((AF) == GPIO_AF_OTG_HS)    || \  
  216.                           ((AF) == GPIO_AF_ETH)       || ((AF) == GPIO_AF_OTG_HS_FS) || \  
  217.                           ((AF) == GPIO_AF_SDIO)      || ((AF) == GPIO_AF_DCMI)      || \  
  218.                           ((AF) == GPIO_AF_EVENTOUT)  || ((AF) == GPIO_AF_SPI4)      || \  
  219.                           ((AF) == GPIO_AF_SPI5)      || ((AF) == GPIO_AF_SPI6)      || \  
  220.                           ((AF) == GPIO_AF_UART7)     || ((AF) == GPIO_AF_UART8)     || \  
  221.                           ((AF) == GPIO_AF_FMC)       ||  ((AF) == GPIO_AF_SAI1)     || \  
  222.                           ((AF) == GPIO_AF_LTDC))  
  223. #endif /* STM32F427_437xx ||  STM32F429_439xx */  
  224.   
  225. #if defined (STM32F446xx)  
  226. #define IS_GPIO_AF(AF)   (((AF) < 16) && ((AF) != 11) && ((AF) != 14))  
  227. #endif /* STM32F446xx */  
  228.   
  229. /** 
  230.   * @} 
  231.   */   
  232.   
  233. /** @defgroup GPIO_Legacy  
  234.   * @{ 
  235.   */  
  236.       
  237. #define GPIO_Mode_AIN           GPIO_Mode_AN  
  238.   
  239. #define GPIO_AF_OTG1_FS         GPIO_AF_OTG_FS  
  240. #define GPIO_AF_OTG2_HS         GPIO_AF_OTG_HS  
  241. #define GPIO_AF_OTG2_FS         GPIO_AF_OTG_HS_FS  
  242.   
  243. /** 
  244.   * @} 
  245.   */  
  246.   
  247. /** 
  248.   * @} 
  249.   */  

猜你喜欢

转载自blog.csdn.net/duidaifen3896/article/details/79572149
今日推荐