1、處理器與外部設備通信的兩種方式:
1.並行通信 -傳輸原理:數據各個位同時傳輸。 -優點:速度快。 -缺點:佔用引腳資源多。
2.串行通信 -傳輸原理:數據按位順序傳輸。 -優點:佔用引腳資源少。 -缺點:速度相對較慢。
2、串行通信按照數據傳送方向,分爲:
1.單工:數據傳輸只支持數據在一個方向上傳輸 。
2.半雙工:允許數據在兩個方向上傳輸,但是在某一時刻,只允許數據在一個方向上傳輸,它實際上是一種切換方向的單工通信;
3.全雙工:允許數據同時在兩個方向上傳輸,因此全雙工通信是兩個單工通信方式的結合,它要求發送設備和接收設備都有獨立的接收和發送能力。
3、串行通信的通信方式 :
1.同步通信:帶時鐘同步信號傳輸,根據時鐘信號傳輸。 -SPI,IIC通信接口
2.異步通信:不帶時鐘同步信號,需規定波特率來通信。 -UART(通用異步收發器),單總線
通信標準 |
引腳說明 |
通信方式 |
通信方向 |
UART (通用異步收發器) |
TXD:發送端 RXD:接受端 GND:公共地 |
異步通信 |
全雙工 |
單總線 (1-wire) |
DQ:發送/接受端 |
異步通信 |
半雙工 |
SPI |
SCK:同步時鐘 MISO:主機輸入,從機輸出 MOSI:主機輸出,從機輸入 |
同步通信 |
全雙工 |
I2C |
SCL:同步時鐘 SDA:數據輸入/輸出端 |
同步通信 |
半雙工 |
4、STM32的串口通信接口 :
1.UART:通用異步收發器
UART異步通信方式特點:
2.USART:通用同步異步收發器
5、UART異步通信方式引腳連接方法:
-RXD:數據輸入引腳。數據接受。 -TXD:數據發送引腳。數據發送。
串口號 |
RXD |
TXD |
1 |
PA10 |
PA9 |
2 |
PA3 |
PA2 |
3 |
PB11 |
PB10 |
4 |
PC11 |
PC10 |
5 |
PD2 |
PC12 |
6、串口通信過程:
7、STM32串口異步通信需要定義的參數:
起始位 數據位(8位或者9位) 奇偶校驗位(第9位) 停止位(1,15,2位) 波特率設置
8、USATR框圖:
9、常用的串口相關寄存器:
1.USART_SR狀態寄存器
2.USART_DR數據寄存器
3.USART_BRR波特率寄存器
波特率計算方法:
10、串口配置的一般步驟:
串口時鐘使能,GPIO時鐘使能:RCC_APB2PeriphClockCmd();
串口復位:USART_DeInit(); 這一步不是必須的
GPIO端口模式設置:GPIO_Init(); 模式設置爲GPIO_Mode_AF_PP
串口參數初始化:USART_Init();
開啓中斷並且初始化NVIC(如果需要開啓中斷才需要這個步驟) NVIC_Init(); USART_ITConfig();
使能串口:USART_Cmd();
編寫中斷處理函數:USARTx_IRQHandler();
串口數據收發: void USART_SendData();//發送數據到串口,DR uint16_t USART_ReceiveData();//接受數據,從DR讀取接受到的數據
串口傳輸狀態獲取: FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG); void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT);