
正常開啟串口只需用下列函數 置位USART_CR1 UE 位即可使能響應中斷,比如使能USART1如下:
但是同樣在USART_CR1 寄存器里同樣還有 TE(發送使能)、RE(接收使能)需要置位,之前一直沒找到,后來在 stm32f10x_usart.c 的函數USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)里終于找到對TE、RE位的處理,幾如下:
可以看出是根據選在的模式配置了是否把TE、RE使能也就是在配置串口時這條語句: USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//收發模式,發送端和接收端都要使用
以上語句決定在串口初始化函數里使能TE、RE。。