一、通信接口介绍2 e8 }/ `3 L: k6 b 1、处理器与外部设备通信的两种方式: 0 G+ |. M' K4 m8 `2 I% R6 I, C 并行通信0 B- Q" h/ u. k; h6 b* h $ u0 G; U$ ?/ F+ u ] - 传输原理:数据各个位同时传输。' ~0 l5 X, q: i9 Y: E, m& @ -优点:速度快 -缺点:占用引脚资源多9 t& T: ^+ D2 Q. l! u* J m9 w5 v6 q' k4 r* g0 Q 串行通信 - 传输原理:数据按位顺序传输(一位一位传输)。 -优点:占用引脚资源少8 t e: Q; r; E: b& ^' g 7 [8 A& T8 p8 a -缺点:速度相对较慢) E( x4 e" V4 @# I9 X0 f 2、串行通信三种传送方式:" k: W \* U5 w9 c7 I9 Y# e 单工: 6 _5 w/ k* v% X, ~; x 数据传输只支持数据在一个方向上传输 z2 W8 g/ z0 O 半双工:& o+ y: g! O1 w3 _ 允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信; 全双工: 5 m) |4 l, G1 V7 B 允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。* u8 Q1 {- g4 J i% Z9 Y% [2 h 3、串行通信的通信方式及举例- r+ ^3 e+ F) I3 g. ] % g) i% [1 D9 e- `, @ 同步通信:带时钟同步信号传输。 -SPI,IIC通信接口# _# n* L% |& N5 h! ` ' c) V+ t$ ?( e 异步通信:不带时钟同步信号。 -UART(通用异步收发器),单总线0 L: b4 _" J) B7 O! c , {9 z1 b$ W6 U* X! K% {! p 6 [# n' J/ o2 T 二、什么是串口:* F# H4 y! D" l2 g8 |8 [$ M$ ~ 串口是我们的大多数微控制单元(MCU)都具有的基本的外部接口,一般串口最基本的功能就是调试,又能做数据通信的接口(数据量要小一些)。6 e% a e6 G* N3 j% o a 数据从A到B只能通过1根线,数据就像是羊肉块一样被串在线上 3 V3 |2 }8 d0 C9 U5 ~6 X UART:通用异步收发器 ; h; p" O, b* \/ K6 q0 A USART:通用同步异步收发器 三、串口电平标准及引脚连接方法:5 d2 ^9 v1 P! c9 e7 |9 R 1、电平标准, ~# {$ x2 T4 r% i* Z ! h- m$ s6 r* d3 |/ K! A5 G" S TTL是常见的模块的通讯电平标准:串口wifi、串口蓝牙(4针接口:VCC、GND、TXD、RXD)+ Z) s: X' f4 x, y, O( f 0 A. Y! r6 R2 F 232一般是数据通讯接口:台式电脑的主机背后的九针接口( [. v3 h& E, j" g) S5 L* ], v0 u / D2 A% F8 V+ }1 k$ _, {0 Z 2 `1 R4 L1 v8 ]# }% }) h& J 2、连接方法 , H4 H* J4 E$ ]8 y+ d RXD:数据输入引脚。数据接受。4 ?' l0 {6 u# y/ Y2 x TXD:数据发送引脚。数据发送。) C: [' B1 K5 z" R- q/ G 3 r/ B! j2 o/ V: }9 | 四、STM32串口通信过程5 `. L2 l5 ?6 N8 C& _ : K$ m- c: t- A, t1 O+ G 数据接收过程:1 w+ C% n" G8 T2 N* A. l3 n , X$ D4 N( B! n) w 数据发送过程: , C- f, D/ ~1 `" ]. Y( j5 i 五、STM32串口异步通信需要定义的参数+ [8 Q" v3 w/ C/ Q8 t2 L) Z7 { O8 x: Q ①起始位1 S, _- u9 M6 W9 q7 k, n7 b( M / d+ m" y) E2 D6 I" ]- D, g- E. P ②数据位(8位或者9位) 9位是带奇偶校验位" r; ], X( K4 ?( c9 ?( c 0 J7 G, S7 R% A ③奇偶校验位(第9位) # W1 ^0 {2 L& J3 M4 V 奇检验就是保证8位数据位中1的个数为基数个,如果1是基数个则检验位就为0,反之为1;# f1 L$ u5 U( C7 x* ]5 S% R $ A4 k [0 `$ C6 C F: o# X& I 偶检验就是保证8位数据位中1的个数为偶数个,如果1是偶数个则检验位就为0,反之为1;$ z9 I' ]0 U% Q! S) } ④停止位(1,15,2位) ⑤波特率设置* s* A8 o9 f* `9 |( F $ ^1 @) ?4 x2 {: Y3 X5 `# O - \/ V! f8 A8 a6 {5 f 六、UART配置过程 " ^* C; }' ~% y# m& V
4 h* K7 t3 u) e/ {* `0 ] |
【STM32MP135-DK】裸机移植shell
NUCLEO-U545RE-Q评测】3. 串口基本收发测试
NUCLEO-U545RE-Q评测】4. 串口实用收发测试
基于STM32模拟UART串口通信
【STM32H503评测】+ coremark跑分移植测试
基于STM32H563演示UART+DMA经验分享
STM32的通用同步异步收发器USART模块
STMCube UART与ADC配置
STM32™ 自举程序中使用的 USART 协议
开启Cache后UART无法发送新数据