修改了GPIO_Configuration

STM32F4系列UART在初始化的时候,如果GPIO_AF放到GPIO_INIT后边,系统复位后,串口会向外发送一个字节的数据,通常是0x00。将GPIO_AF放到GPIO_INIT前边可以避开这个问题。
This commit is contained in:
mqb 2017-08-28 12:39:17 +08:00 committed by GitHub
parent 2ac493698b
commit 19448a920c
1 changed files with 14 additions and 14 deletions

View File

@ -567,53 +567,53 @@ static void GPIO_Configuration(void)
#ifdef RT_USING_UART1 #ifdef RT_USING_UART1
/* Configure USART1 Rx/tx PIN */ /* Configure USART1 Rx/tx PIN */
GPIO_InitStructure.GPIO_Pin = UART1_GPIO_RX | UART1_GPIO_TX; GPIO_InitStructure.GPIO_Pin = UART1_GPIO_RX | UART1_GPIO_TX;
GPIO_Init(UART1_GPIO, &GPIO_InitStructure);
/* Connect alternate function */ /* Connect alternate function */
GPIO_PinAFConfig(UART1_GPIO, UART1_TX_PIN_SOURCE, GPIO_AF_USART1); GPIO_PinAFConfig(UART1_GPIO, UART1_TX_PIN_SOURCE, GPIO_AF_USART1);
GPIO_PinAFConfig(UART1_GPIO, UART1_RX_PIN_SOURCE, GPIO_AF_USART1); GPIO_PinAFConfig(UART1_GPIO, UART1_RX_PIN_SOURCE, GPIO_AF_USART1);
GPIO_Init(UART1_GPIO, &GPIO_InitStructure);
#endif /* RT_USING_UART1 */ #endif /* RT_USING_UART1 */
#ifdef RT_USING_UART2 #ifdef RT_USING_UART2
/* Configure USART2 Rx/tx PIN */ /* Configure USART2 Rx/tx PIN */
GPIO_InitStructure.GPIO_Pin = UART2_GPIO_RX | UART2_GPIO_TX; GPIO_InitStructure.GPIO_Pin = UART2_GPIO_RX | UART2_GPIO_TX;
GPIO_Init(UART2_GPIO, &GPIO_InitStructure);
/* Connect alternate function */ /* Connect alternate function */
GPIO_PinAFConfig(UART2_GPIO, UART2_TX_PIN_SOURCE, GPIO_AF_USART2); GPIO_PinAFConfig(UART2_GPIO, UART2_TX_PIN_SOURCE, GPIO_AF_USART2);
GPIO_PinAFConfig(UART2_GPIO, UART2_RX_PIN_SOURCE, GPIO_AF_USART2); GPIO_PinAFConfig(UART2_GPIO, UART2_RX_PIN_SOURCE, GPIO_AF_USART2);
GPIO_Init(UART2_GPIO, &GPIO_InitStructure);
#endif /* RT_USING_UART2 */ #endif /* RT_USING_UART2 */
#ifdef RT_USING_UART3 #ifdef RT_USING_UART3
/* Configure USART3 Rx/tx PIN */ /* Configure USART3 Rx/tx PIN */
GPIO_InitStructure.GPIO_Pin = UART3_GPIO_TX | UART3_GPIO_RX; GPIO_InitStructure.GPIO_Pin = UART3_GPIO_TX | UART3_GPIO_RX;
GPIO_Init(UART3_GPIO, &GPIO_InitStructure);
/* Connect alternate function */ /* Connect alternate function */
GPIO_PinAFConfig(UART3_GPIO, UART3_TX_PIN_SOURCE, GPIO_AF_USART3); GPIO_PinAFConfig(UART3_GPIO, UART3_TX_PIN_SOURCE, GPIO_AF_USART3);
GPIO_PinAFConfig(UART3_GPIO, UART3_RX_PIN_SOURCE, GPIO_AF_USART3); GPIO_PinAFConfig(UART3_GPIO, UART3_RX_PIN_SOURCE, GPIO_AF_USART3);
GPIO_Init(UART3_GPIO, &GPIO_InitStructure);
#endif /* RT_USING_UART3 */ #endif /* RT_USING_UART3 */
#ifdef RT_USING_UART4 #ifdef RT_USING_UART4
/* Configure USART4 Rx/tx PIN */ /* Configure USART4 Rx/tx PIN */
GPIO_InitStructure.GPIO_Pin = UART4_GPIO_TX | UART4_GPIO_RX; GPIO_InitStructure.GPIO_Pin = UART4_GPIO_TX | UART4_GPIO_RX;
GPIO_Init(UART4_GPIO, &GPIO_InitStructure);
/* Connect alternate function */ /* Connect alternate function */
GPIO_PinAFConfig(UART4_GPIO, UART4_TX_PIN_SOURCE, GPIO_AF_UART4); GPIO_PinAFConfig(UART4_GPIO, UART4_TX_PIN_SOURCE, GPIO_AF_UART4);
GPIO_PinAFConfig(UART4_GPIO, UART4_RX_PIN_SOURCE, GPIO_AF_UART4); GPIO_PinAFConfig(UART4_GPIO, UART4_RX_PIN_SOURCE, GPIO_AF_UART4);
GPIO_Init(UART4_GPIO, &GPIO_InitStructure);
#endif /* RT_USING_UART4 */ #endif /* RT_USING_UART4 */
#ifdef RT_USING_UART5 #ifdef RT_USING_UART5
/* Configure USART5 Rx/tx PIN */ /* Configure USART5 Rx/tx PIN */
GPIO_InitStructure.GPIO_Pin = UART5_GPIO_TX; GPIO_InitStructure.GPIO_Pin = UART5_GPIO_TX;
GPIO_Init(UART5_TX, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = UART5_GPIO_RX;
GPIO_Init(UART5_RX, &GPIO_InitStructure);
/* Connect alternate function */ /* Connect alternate function */
GPIO_PinAFConfig(UART5_TX, UART5_TX_PIN_SOURCE, GPIO_AF_UART5); GPIO_PinAFConfig(UART5_TX, UART5_TX_PIN_SOURCE, GPIO_AF_UART5);
GPIO_Init(UART5_TX, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = UART5_GPIO_RX;
GPIO_PinAFConfig(UART5_RX, UART5_RX_PIN_SOURCE, GPIO_AF_UART5); GPIO_PinAFConfig(UART5_RX, UART5_RX_PIN_SOURCE, GPIO_AF_UART5);
GPIO_Init(UART5_RX, &GPIO_InitStructure);
#endif /* RT_USING_UART5 */ #endif /* RT_USING_UART5 */
} }