你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32F1串口通信经验分享

[复制链接]
攻城狮Melo 发布时间:2023-5-14 17:02
1、处理器与外部设备通信的两种方式:: G" T4 ]% c9 y
1.并行通信    -传输原理:数据各个位同时传输。    -优点:速度快。    -缺点:占用引脚资源多。4 P/ J; I, i8 V
2.串行通信    -传输原理:数据按位顺序传输。       -优点:占用引脚资源少。    -缺点:速度相对较慢。% C5 [; o  Z- X+ h; ]
+ f: k+ b8 G+ R+ b
2、串行通信按照数据传送方向,分为:
2 x7 I; U4 m. p4 M" b* W0 l) D- `1.单工:数据传输只支持数据在一个方向上传输 。
! }; o2 ]9 h+ d. z2.半双工:允许数据在两个方向上传输,但是在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;% t! J6 q1 @  a( S1 u
3.全双工:允许数据同时在两个方向上传输,因此全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。9 K9 v  v$ p, d9 p* N' I- p
" T: ^3 @4 e  v# Q5 k$ Z
2019080916310217.png
8 H* m9 z. e7 {* E; Y                  ' ]2 d% V" f2 \+ R6 u0 }# x
3、串行通信的通信方式 :
6 z% d6 A% Y+ b5 F! Y- L' o/ P1.同步通信:带时钟同步信号传输,根据时钟信号传输。     -SPI,IIC通信接口
: U3 V  X7 K: j& w; h2.异步通信:不带时钟同步信号,需规定波特率来通信。     -UART(通用异步收发器),单总线
2 h6 W/ o9 b9 a$ T1 n# G4 ^/ C: W" j, T7 W( L* L6 }# N6 y; V
]I[4S$KIJU{`GL]_`T`}RYJ.png ' F% S4 X" e( ?3 K5 c" R( Z

$ A2 n3 g/ I; T" Z# I: I
* I: V% {& o- t3 a5 f9 W- B
4、STM32的串口通信接口 :( @5 Q3 u3 M8 g( p1 m- a8 `, ^
1.UART:通用异步收发器
! N7 l$ f) x3 ~. hUART异步通信方式特点:) J. x& l9 H6 }1 E# D# |* L
全双工异步通信。
! a4 g* U  o6 j分数波特率发生器系统,提供精确的波特率。-发送和接受共用的可编程波特率,最高可达4.5Mbits/s 可编程的数据字长度(8位或者9位);
4 }, Z8 a5 O, ?3 f9 ]" Q. `可配置的停止位(支持1或者2位停止位);' f8 T# G! ]) e
可配置的使用DMA多缓冲器通信。
2 j6 e; z4 _' ~单独的发送器和接收器使能位。' y  H& s% Z% H& F
检测标志:① 接受缓冲器  ②发送缓冲器空 ③传输结束标志 多个带标志的中断源。) D. Y  K. w2 U
触发中断。 其他:校验控制,四个错误检测标志。( S, o/ M' F& b, o& d
2.USART:通用同步异步收发器
2 E( D/ A$ v4 H3 d0 {- C
% p. I0 A# ~6 Q  j/ b
5、UART异步通信方式引脚连接方法:$ q' ]8 _8 r$ k; `
-RXD:数据输入引脚。数据接受。 -TXD:数据发送引脚。数据发送。% F0 d! C- H" T/ F. e- f* }

$ |7 ?& V' S/ h  Y( n9 s
20190809173654287.png
7 {. O7 x- l6 N6 _9 |% x3 d         7 j8 G# z0 R1 T- R
20190809173713997.png
- O" W3 c: C" \/ N: w6 A( c2 q$ g

# m7 o: S% ]- s4 g( |$ c( w( O B7]BQGVFQA232QK]6GJ]3ZB.png : s$ }. _+ C3 M4 n
8 x! k( r, [. a$ O$ P5 y: r
6、串口通信过程:         
( ?" q4 B: X6 e/ v" ]! h( R+ n4 ]# v/ o3 E
20190809174508724.png
9 P$ v- N1 z  a' o  E" k% y
: F* X7 M9 m; Y+ m3 @( {7、STM32串口异步通信需要定义的参数:
/ @/ K2 R' l4 V8 B. y& ], l( x! \9 p4 x
起始位  数据位(8位或者9位)  奇偶校验位(第9位)  停止位(1,15,2位)  波特率设置
- j1 f# e8 A6 n7 b9 }: y( v! w. n( K/ D, ^4 |
2019080917480567.png * t, n2 H- f1 l( d  t" H( o6 M

8 g- m+ Q: ?2 @$ t8、USATR框图:                             
* i4 H5 ]: t2 d, h  D3 `' X% B
, o1 a0 W4 F) e# ~# X5 q9 I$ j
20190809174858223.png # f( R) a+ \( W% p

( |* X# W; e- Q5 t% Q9、常用的串口相关寄存器:6 `  {9 p3 V$ `1 n' _( H% T
1.USART_SR状态寄存器
( i9 S& N" `% ?2 A4 H
6 b1 e8 J" e( Y6 J5 Y
20190809175826741.png ) Z/ h9 s  X$ o: z( V: c

6 c' |+ j! n" n' B2.USART_DR数据寄存器- O) r6 l% K, o$ N/ r

7 U8 j6 Z, q3 X  K0 s3 H* \
20190809175854511.png
+ Z) _  Q$ c7 W  D' f( L& D& H2 n1 P" P' G
3.USART_BRR波特率寄存器
/ N9 L" P5 h3 i' J- k
) }" \+ _8 j0 |3 J# C& F2 B
20190809180030512.png * ?3 E+ z) S2 r- s: J: p3 s% i8 y$ ~

$ n+ |0 r6 A* ?波特率计算方法:
2 R8 `6 m7 D# A" G6 X
" v  j6 P( v! D  m9 d
20190809180731250.png
9 v8 h8 o7 S$ G" F+ f8 O& a- Z+ a% V$ |/ F. T' T& Y/ V
20190809180801259.png
2 F5 @, F" v8 B0 w$ ~& z
, }; z' [. N8 R$ r) \5 J  C  p4 J
10、串口配置的一般步骤:
* X5 `7 {! G0 [) I1 P: x串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();8 o% j6 U2 E" B/ N5 `% D4 _
串口复位:USART_DeInit(); 这一步不是必须的
7 p: Q0 ~. L1 F5 EGPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF_PP
6 C1 R* n- j" x* ?& P4 w串口参数初始化:USART_Init();1 s0 f0 N# [: A2 Y
开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)    NVIC_Init();       USART_ITConfig();
, m4 ~! z9 A0 t使能串口:USART_Cmd();1 t, {, k( L* m# V4 y
编写中断处理函数:USARTx_IRQHandler();
) x4 T- D' ?+ B, D) }串口数据收发: void USART_SendData();//发送数据到串口,DR uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据  K" d% a5 x& l: e/ A
串口传输状态获取: FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG); void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT);+ H( h& c' i  e$ I2 w% B5 O5 x( f
————————————————
0 D- ^0 j# \/ y1 _  I版权声明:集中注意力619
& E! Y5 o* h7 ^! U0 o8 \如有侵权请联系删除
, z" o$ C* k9 }3 `
; I5 h* |) D, B4 r% X& y6 N/ C! u# p& n: s) S* V% G

9 k4 ~0 ]  j+ Y. I
赞 收藏 评论0 发布时间:2023-5-14 17:02

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版