正点原子STM32F103(精英版)------串行通信
處理器與外部設(shè)備通信的兩種方式:
并行通信
傳輸原理:數(shù)據(jù)各個(gè)位同時(shí)傳輸
優(yōu)點(diǎn):速度快
缺點(diǎn):占用引腳資源多
串行通信
傳輸原理:數(shù)據(jù)按位順序傳輸
優(yōu)點(diǎn):占用引腳資源少
缺點(diǎn):速度相對(duì)較慢
2.串行通信
按照數(shù)據(jù)傳送方向,分為:
單工:數(shù)據(jù)傳輸只支持?jǐn)?shù)據(jù)在一個(gè)方向上傳輸
半雙工:允許數(shù)據(jù)在兩個(gè)方向上傳輸,但是,在某一適合,只允許數(shù)據(jù)在一個(gè)方向上傳輸,它實(shí)際上是一種切換方向的單工通信
全雙工:允許數(shù)據(jù)同時(shí)在兩個(gè)方向上傳輸,因此,全雙工通信是兩個(gè)單工通信方式的結(jié)合,它要求發(fā)送設(shè)備和接收設(shè)備都有獨(dú)立的接收和發(fā)送能力。
串行通信的通信方式
同步通信:帶時(shí)鐘同步信號(hào)傳輸。---SPI,IIC通信接口(按照時(shí)鐘同步信號(hào)一位一位傳輸)
異步通信:不帶時(shí)鐘同步信號(hào)。---UART(通用異步接發(fā)器),單總線? ?(不帶時(shí)鐘同步信號(hào),雙方必須約定好波特率進(jìn)行傳輸)
常見的串行通信接口
?STM32的串口通信接口
UART:通用異步收發(fā)器
USART:通用同步異步收發(fā)器
大容量STM32F10X系列芯片,包含3個(gè)USART和2個(gè)UART
UART異步通信方式引腳連接方法:
-RXD:數(shù)據(jù)輸入引腳。數(shù)據(jù)接受
-TXD:數(shù)據(jù)發(fā)送引腳。數(shù)據(jù)發(fā)送
| 串口號(hào) | RXD | TXD |
| 1 | PA10 | PA9 |
| 2 | PA3 | PA2 |
| 3 | PB11 | PB10 |
| 4 | PC11 | PC10 |
| 5 | PD2 | PC12 |
UART異步通信方式特點(diǎn)
全雙工異步通信。
分?jǐn)?shù)波特率發(fā)生器系統(tǒng),提供精確的波特率----發(fā)送和接受共用的可編程波特率,最高可達(dá)4.5Mbits/s
可編程的數(shù)據(jù)字長度(8位或者9位)
可配置的停止位(支持1或者2位停止位)
可配置的使用DMA多緩沖器通信
單獨(dú)的發(fā)送器和接收器使能位
檢測(cè)標(biāo)志:①接受緩沖器? ②發(fā)送緩沖器空?③傳輸結(jié)束標(biāo)志
多個(gè)帶標(biāo)志的中斷源。出發(fā)中斷。
其他:校驗(yàn)控制,四個(gè)錯(cuò)誤檢測(cè)標(biāo)志。
串口通信過程
?STM32串口異步通信需要定義的參數(shù)(參考野火P34視頻)
①起始位
②數(shù)據(jù)位(8位或者9位)
③奇偶校驗(yàn)位(第9位)
④停止位(1,15,2位)
⑤波特率設(shè)置
?
串口通信協(xié)議簡介
串口數(shù)據(jù)包的基本組成
?起始位:由1個(gè)邏輯0的數(shù)據(jù)位表示
結(jié)束位:由0.5、1、1.5或2個(gè)邏輯1的數(shù)據(jù)位表示
有效數(shù)據(jù):在起始位后緊跟著的就是有效數(shù)據(jù),有效數(shù)據(jù)的長度常被約定為5、6、7或8位長
校驗(yàn)位:可選,為的是數(shù)據(jù)的抗干擾性
1-奇校驗(yàn) (odd)? ?2-偶校驗(yàn) (even)?3-0校驗(yàn)(space)??4-1校驗(yàn) (mark)? ? 5-無校驗(yàn)(noparity)
奇校驗(yàn)
有效數(shù)據(jù)和校驗(yàn)位中“1”的個(gè)數(shù)為奇數(shù)
比如:一個(gè)8位的有效數(shù)據(jù)為 0110 1001? ? ,此時(shí)共有4個(gè)“1”,為達(dá)到奇校驗(yàn)效果,校驗(yàn)位為“1” ,最后傳輸?shù)臄?shù)據(jù)將是8位的有效數(shù)據(jù)加上 1位的校驗(yàn)位?總共為9位。
偶校驗(yàn)
有效數(shù)據(jù)和校驗(yàn)位中“1”的個(gè)數(shù)為偶數(shù)
比如:一個(gè)8位的有效數(shù)據(jù)為 0110 1001? ? ,此時(shí)共有4個(gè)“1”,為達(dá)到偶校驗(yàn)效果,校驗(yàn)位為“0” ,最后傳輸?shù)臄?shù)據(jù)將是8位的有效數(shù)據(jù)加上 1位的校驗(yàn)位?總共為9位。
0校驗(yàn)
不管有效數(shù)據(jù)中的內(nèi)容是什么,校驗(yàn)位總為0
1校驗(yàn)
校驗(yàn)位總為1
無校驗(yàn)
數(shù)據(jù)包中不包含校驗(yàn)位
總結(jié)
以上是生活随笔為你收集整理的正点原子STM32F103(精英版)------串行通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在output 子句和 scope_id
- 下一篇: 极详细的ECC讲解 -OOB与ECC