專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> STM32 >> 瀏覽文章

SMT32 串口 使能 USART_CR1 (TE RE UE)

作者:真誠(chéng)冰雪天涯   來(lái)源:真誠(chéng)冰雪天涯   點(diǎn)擊數(shù):  更新時(shí)間:2014年06月17日   【字體:
看了幾個(gè)小時(shí)為了找 串口的 TE(發(fā)送使能)、RE(接收使能)在哪里開(kāi)啟了,終于找到了。
正常開(kāi)啟串口只需用下列函數(shù) 置位USART_CR1 UE 位即可使能響應(yīng)中斷,比如使能USART1如下:

 
  USART_Cmd(USART1, ENABLE);

但是同樣在USART_CR1 寄存器里同樣還有 TE(發(fā)送使能)、RE(接收使能)需要置位,之前一直沒(méi)找到,后來(lái)在 stm32f10x_usart.c 的函數(shù)USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)里終于找到對(duì)TE、RE位的處理,幾如下:


  tmpreg = USARTx->CR1;
 
  tmpreg &= CR1_CLEAR_Mask;
 
 
 
 
  tmpreg |= (uint32_t)USART_InitStruct->USART_WordLength | USART_InitStruct->USART_Parity |
            USART_InitStruct->USART_Mode;
 
  USARTx->CR1 = (uint16_t)tmpreg;

可以看出是根據(jù)選在的模式配置了是否把TE、RE使能也就是在配置串口時(shí)這條語(yǔ)句: USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//收發(fā)模式,發(fā)送端和接收端都要使用

以上語(yǔ)句決定在串口初始化函數(shù)里使能TE、RE。。

關(guān)閉窗口

相關(guān)文章