《嵌入式系統原理與應用》 |(十)UAPT 知識梳理

 

系列索引:《嵌入式系統原理與應用》 | 嵌入式系統 重點知識梳理


 

目錄

 

數據通信的基本概念(串行與並行、單工、雙工、半雙工、同步與異步)

 

UART的物理接口及互聯方式

UART的數據格式及傳輸速率(傳輸時間的計算)

STM32 USART的特性*

USART使用DMA發送及接收數據的流程

 

USART相關庫函數(初始化結構體變量的設置、發送與接收數據、中斷相關)


數據通信的基本概念(串行與並行、單工、雙工、半雙工、同步與異步)

UART(Universal Asynchronous Receiver/Transmitter,通用異步收發器)

 

 

UART的物理接口及互聯方式

UART接口

TxD用於發送數據;

RxD用於接收數據;

GND是地線:

互聯方式

 

 

UART的數據格式及傳輸速率(傳輸時間的計算)

UART數據格式

UART傳輸方式爲異步全雙工,數據線有兩根,一根發送,一根接收,以數據幀方式傳輸。

 

UART傳輸速率

根據約定的傳輸速率和所要傳輸的數據大小,可以得出通過UART發送完全部數據所需的時間。

例題:

假設STM32F03微控制器的USART1設置爲38.4kbps,7位數據位,1位偶校驗位,2位停止位,發送一個大小位1KB的文件,需要多少時間?

 

  • 首先計算需要傳輸的幀數:

(1024*8)/7=1171次   //1kb = 1024*8二進制位 ,一幀7個數據位,則(1024*8)/7向上取整

1171*((1+7+1+2)/(1000*38.4))=0.335s // 1+7+1+2:7位數據位,1位偶校驗位,2位停止位,另加一個起始位

 

STM32 USART的特性*

 STM32F103系列微控制器中的UART模塊被稱爲——USART

在具備UART異步全雙工串行通信傳輸基本功能的同時,還具有同步單向通信的功能。

 

USART使用DMA發送及接收數據的流程

USART可以利用DMA實現連續通信。Rx緩衝器和Tx緩衝器的DMA請求是分別產生的。

利用DMA發送

可以通過設置USART_CR3寄存器上的DMAT位激活。當TXE位被置爲’1’時,DMA就從指定的SRAM區傳送數據到USART_DR寄存器。爲USART的發送分配一個DMA

利用DMA接收

可以通過設置USART_CR3寄存器的DMAR位激活使用DMA進行接收,每次接收到一個字節,DMA控制器就就把數據從USART_DR寄存器傳送到指定的SRAM區。

 

 

USART相關庫函數(初始化結構體變量的設置、發送與接收數據、中斷相關)

USART_DeInit:將USARTx的寄存器恢復爲復位啓動時的默認值。

USART_Init:根據USART_InitStruct中指定的參數初始化指定USART的寄存器。

USART_Cmd:使能或禁止指定USART。

USART_SendData:通過USART發送單個數據。

USART_ReceiveData:返回指定USART最近接收到的數據。

USART_GetFlagStatus:查詢指定USART的標誌位狀態。

USART_ClearFlag:清除指定USART的標誌位。

USART_ITConfig:使能或禁止指定的USART中斷。

USART_GetITStatus:查詢指定的USART中斷是否發生。

USART_ClearITPendingBit:清除指定的USART中斷掛起位。

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章