1.序列槽通信,一般有UART,USART,I2C,SPI,485通信,can通信
2.UART指通用異步收發傳輸器,可以實作全雙工傳輸和接收。UART通信時,資料先發低位再發高位。
3.USART指通用同步/異步串行接收/發送器。
4.UART與USART的硬體總線差別?
1.UART: Rxd—–讀資料線
Txd—–寫資料線
2.USART:Rxd—–讀資料線
Txd—–寫資料線
RTS—–接收器流控線
CTS—–發送器流控線
5.UART通信模型
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvwleRRUTzcmeONTT6hVdsdUZwZlMkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TM4QTMzITM0EjMxMDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
6.USART通信模型
相對于UART,每個裝置多兩條線RTS,CTS
RTS—(發送流控線)(通知另外一個裝置)——對應——CTS(接收流控線)
都有一個地線
7.UART發送和接收的可程式設計波特率,最高達 4.5Mbits/s
8.UART的應用場景:USART應用中大部分時候使用異步的模式,智能卡使用同步模式;
USART/UART作為調試的方法,通過序列槽助手列印在PC機上;
支援多種外設,例如9軸傳感器、電子指南針、序列槽透傳藍牙、序列槽透傳WiFi;
還可以作為485通信的基礎,485可以延長通信距離。
9.UART時序:
字長可以通過程式設計USART_CR1寄存器中的M位,選擇成8或9位。在起始位期間, TX腳處于低電平,在停止位期間處于高電平。
每個字元(每幀資訊)由4部分組成:
(1)1位起始位,規定為低電平0;
(2)8~9位資料位,即要發送的有效資訊;
(3)1位奇偶校驗位(可選);
(4)0.5,1.5,2個停止位,規定為高電平1.
10.USART中的寄存器
一個狀态寄存器(USART_SR)
資料寄存器(USART_DR)
一個波特率寄存器(USART_BBR),12位整數和4位小數
控制寄存器1(USART_CR1)
控制寄存器2(USART_CR2)
控制寄存器3(USART_CR3)
一個智能卡模式下的保護時間寄存器(USART_GTPR)
11.USART通信中斷原理流程:
(1)恢複預設
(2)打開相應時鐘APB
(3)GPIO口初始化
(4)USART模式初始化,波特率,字長,停止位,校驗位,硬體流控
(5)使能USART中斷
(6)清空USART标志位
(7)使能USART
(8)USART中嵌套向量中斷控制器NVIC初始化,優先級組,搶占式優先級和響應式優先級個數
(9)編寫中斷服務函數