| 串口是一種全雙工通訊方式
單工
數(shù)據(jù)傳輸只支持數(shù)據(jù)在一個方向上傳輸
半雙工
允許數(shù)據(jù)在兩個方向上傳輸,在同一時刻,只允許數(shù)據(jù)在一個方向上傳輸,它實際上是一種切換方向的單工通信
全雙工
允許數(shù)據(jù)同時在兩個方向上傳輸,因此,全雙工通信是兩個單工通信方式的結(jié)合,它要求發(fā)送設(shè)備和接收設(shè)備都有獨立的接收和發(fā)送能力
異步串口常見連接方式
相同端口數(shù)據(jù)傳輸
不同端口數(shù)據(jù)傳輸
這里必須保證通訊兩端數(shù)據(jù)共地,此外還需注意不同端口間的電平轉(zhuǎn)換,如TTL、232.
| 異步通訊時序圖
這里以8位字長為例,進行數(shù)據(jù)傳輸時,接收方首先捕捉數(shù)據(jù)起始位- -由高電平到低電平的數(shù)據(jù)跳變,低電平會保持一個數(shù)據(jù)周期(空閑時,數(shù)據(jù)線保持高電平)
1-8-1
緊接著起始位的是8位有效數(shù)據(jù)(低地址數(shù)據(jù)LSB在前),這里特別注意,若設(shè)置了奇偶校驗,奇偶校驗位會占據(jù)一位有效數(shù)據(jù),即寫進數(shù)據(jù)寄存器數(shù)據(jù)的MSB位被校驗位替換后發(fā)送出去,如下表所示:
最后為1位停止位,停止位為有效高電平
| 奇偶校驗
使能校驗功能后,寫進數(shù)據(jù)寄存器的數(shù)據(jù)的MSB位被校驗位替換后發(fā)送出去(如果選擇偶校驗偶數(shù)個’1’,如果選擇奇校驗奇數(shù)個’1’)。
偶校驗:校驗位使得一幀中的7或8個LSB數(shù)據(jù)以及校驗位中’1’的個數(shù)為偶數(shù)。
例如:數(shù)據(jù)=00110101,有4個’1’,如果選擇偶校驗,校驗位是’0’。
奇校驗:此校驗位使得一幀中的7或8個LSB數(shù)據(jù)以及校驗位中’1’的個數(shù)為奇數(shù)。
例如:數(shù)據(jù)=00110101,有4個’1’,如果選擇奇校驗,校驗位是’1’。
| 波特率的產(chǎn)生
RX/TX 波特率=FCK/(16*USARTDIV )
這里的FCK為串口模塊的輸入時鐘頻率,通常首先確定想得到的波特率,而后通過上述公式,解得USARTDIV ,進而將USARTDIV的小數(shù)和整數(shù)部分分別填入波特率寄存器(USART_BRR)的整數(shù)DIV_Mantissa和小數(shù)DIV_Fraction部分中。
例如: 求得 USARTDIV = 25.62時,就有:DIV_Fraction = 16*0.62 = 9.92 最接近的整數(shù)是: 10 = 0x0A DIV_Mantissa = mantissa (25.620) = 25 = 0x19于是, USART_BRR = 0x19A
| 異步串口通訊的基本配置過程
1. 使能串口及對應(yīng)引腳時鐘
2. 配置引腳,根據(jù)需要決定是否重映射
TX輸出引腳 -- 傳輸速率50M_hz,復(fù)用推挽輸出
RX輸入引腳 -- 浮空輸入
3.串口參數(shù)初始化
設(shè)置字長、停止位個數(shù)、是否開啟校驗位及選擇校驗方式(CR1、CR2寄存器),波特率設(shè)置
4. 配置中斷優(yōu)先級
搶占優(yōu)先級、子優(yōu)先級,使能中斷通道
5. 根據(jù)需要,開啟串口部分中斷(CR1)
6. 使能串口(CR1)
stm32串口有獨立的收發(fā)能力,可根據(jù)需要單獨開啟/關(guān)閉接收、發(fā)送單元
-
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
364982 -
串口
+關(guān)注
關(guān)注
15文章
1588瀏覽量
79944
發(fā)布評論請先 登錄
【沁恒CH585開發(fā)板免費試用體驗】UART 串口通信
第十四章 USART——串口通訊

AS32X601驅(qū)動系列教程 USART_串口通訊詳解

Altera A10 SoC HPS UART作為數(shù)據(jù)通訊接口應(yīng)用的配置與調(diào)試

評論