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

基于STM32F1串口通信经验分享

[复制链接]
攻城狮Melo 发布时间:2023-5-14 17:02
1、处理器与外部设备通信的两种方式:% _3 U+ V  I' }
1.并行通信    -传输原理:数据各个位同时传输。    -优点:速度快。    -缺点:占用引脚资源多。
- ?+ V5 T- E6 F  \& K2.串行通信    -传输原理:数据按位顺序传输。       -优点:占用引脚资源少。    -缺点:速度相对较慢。) Y) m; N3 @* |" Y+ X( z

) Q) L) G8 i8 J: c$ U' v# J2、串行通信按照数据传送方向,分为:, A  N& K1 H% G- n. F  x
1.单工:数据传输只支持数据在一个方向上传输 。
+ |; D* b- ?2 S. T/ P% _, b* S2.半双工:允许数据在两个方向上传输,但是在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;
# m/ g# \  _. D6 e3.全双工:允许数据同时在两个方向上传输,因此全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。2 G: M) F% o. B- K+ i& j( T

* ?$ H: W) C* v* F- v8 |; ]
2019080916310217.png
( T- W% P2 l% d# Z* i                  & b* Z( ?; N# |& f  V8 j
3、串行通信的通信方式 :
9 h, Z& I& f1 \' ^1.同步通信:带时钟同步信号传输,根据时钟信号传输。     -SPI,IIC通信接口
5 A1 W* _1 o5 H2.异步通信:不带时钟同步信号,需规定波特率来通信。     -UART(通用异步收发器),单总线2 o6 |3 a" k$ H& c6 A/ x
; i$ _! q7 t6 Z$ \/ m. Q
]I[4S$KIJU{`GL]_`T`}RYJ.png
* T" x1 Z( C: w6 S1 y
0 Z5 t( i8 U9 s2 X: b5 A
: q6 T* @: F6 {/ q; R9 k
4、STM32的串口通信接口 0 q) H" a5 I$ i/ }8 f
1.UART:通用异步收发器
/ U: B4 F/ p* ~: j; [0 T# AUART异步通信方式特点:
1 C) D  ~1 N3 l, L& d全双工异步通信。1 t. ]# X5 c0 p& g3 b; A3 _
分数波特率发生器系统,提供精确的波特率。-发送和接受共用的可编程波特率,最高可达4.5Mbits/s 可编程的数据字长度(8位或者9位);' F3 n& w- r- x. U. \
可配置的停止位(支持1或者2位停止位);1 K, v9 h, j' W5 t2 Z& C: r
可配置的使用DMA多缓冲器通信。3 J5 N# l* y9 ~( P' m6 h8 r2 r8 c
单独的发送器和接收器使能位。
5 C. m0 x! r* `) g检测标志:① 接受缓冲器  ②发送缓冲器空 ③传输结束标志 多个带标志的中断源。3 E, N8 L' _, g4 N6 `1 O6 B% j
触发中断。 其他:校验控制,四个错误检测标志。
3 k+ V5 d# f6 w
2.USART:通用同步异步收发器8 N. w. y* c0 N

" O  p9 r. S3 T* W
5、UART异步通信方式引脚连接方法:
6 @  A  b0 q& ]$ a-RXD:数据输入引脚。数据接受。 -TXD:数据发送引脚。数据发送。# @" x6 k$ l" ^6 n* d  H- J) `+ i

- }8 L6 e* [7 q9 d
20190809173654287.png . t* u1 _. J' m( j
         1 @' D' _5 r; k+ P( ^& V1 m
20190809173713997.png 2 G  j  u" R3 O% ]9 Y; @
  C/ E* p/ D( `
B7]BQGVFQA232QK]6GJ]3ZB.png
1 R- g) Q# _- Y/ @: X

1 O+ a3 Q% D" F0 b: [6、串口通信过程:          . Q/ C/ P5 f. E7 F

8 |# q6 n4 P+ ]! O
20190809174508724.png
; V7 l: D3 `  M* p- r9 ~2 o5 M! o, K$ b. S7 h- J% N4 `% ~
7、STM32串口异步通信需要定义的参数:
8 b) {' W0 b7 r% b7 H/ u% }
/ ^# v6 u* G7 O6 C. L3 w起始位  数据位(8位或者9位)  奇偶校验位(第9位)  停止位(1,15,2位)  波特率设置
' E- ?& `* V1 O, c! j+ U/ Q7 k1 [6 g! [) k; R* Y1 H
2019080917480567.png
% Z2 d# ?5 \7 i8 B$ L. v1 m: Z& Y; E/ |* o3 _4 |6 Z
8、USATR框图:                             4 y7 @' B+ z+ ?
# P$ k6 S; |* h1 \7 O
20190809174858223.png ( [1 D2 H$ h) d0 i
( z6 m% _- N7 ^' R1 B
9、常用的串口相关寄存器:1 I" m% R3 T* o2 x7 @& q
1.USART_SR状态寄存器
6 X$ Q! A" |3 p# L8 t2 M  T5 C7 ]4 N) D9 W/ ]3 R; v0 J
20190809175826741.png
" @6 [+ ]5 B6 G8 t0 `0 r; A
6 i* q7 n. A! t, Z2 p$ b$ ]2 s3 k2.USART_DR数据寄存器
! s+ v8 k% t/ t; p/ ?0 t
* U/ h3 C& m$ s' ]. N
20190809175854511.png
, U- e0 ^7 @& R, T8 b- G$ M" L6 {1 F4 p2 [. N" o; V$ a
3.USART_BRR波特率寄存器! }, t1 b  T. h: {

; [, ^  o+ I9 J
20190809180030512.png   A7 |6 H) F1 ?4 q+ m

% W& e! w: w' `! i" i0 m" n波特率计算方法:
0 ~5 T' h1 l' q* S5 Z* K1 i/ L. E5 i- V' D3 S; w6 b
20190809180731250.png
. E* Z; s3 d/ M( p/ U; B
& P( K* t% A: s3 U4 y. Y
20190809180801259.png 1 {- @  K9 x1 y/ j( j7 m

9 E  I& O, {/ |7 ?: L% U10、串口配置的一般步骤:* S; ?$ H0 D9 }9 d
串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();
8 R3 N4 I7 W* m9 u' E+ F串口复位:USART_DeInit(); 这一步不是必须的+ r' O2 _1 {1 q+ G
GPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF_PP; w6 U: h. q0 k# S5 a9 Q. H
串口参数初始化:USART_Init();# R7 I% o- i8 p) K" N5 Y
开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)    NVIC_Init();       USART_ITConfig();
) {* R/ A# c% s; m' j使能串口:USART_Cmd();4 N" Q# K) S' @% Z& k6 c
编写中断处理函数:USARTx_IRQHandler();
% {& `0 H. l" f* Z' O) L串口数据收发: void USART_SendData();//发送数据到串口,DR uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据/ Z. N/ I+ ?$ I& ~
串口传输状态获取: FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG); void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT);- h4 y; I1 E& {! w. w) Z
————————————————
8 ~0 X6 ], e9 L- U! f版权声明:集中注意力619% G# e+ H+ p' F, A6 x0 M) a
如有侵权请联系删除* P3 O" r. P& u" L$ b0 ~5 H+ t3 |

! b" L4 w' Q8 N6 J4 e+ s3 O1 Y4 t4 b) m1 K# @
; r+ P# n# b, a! Q) F! Z9 T% C
收藏 评论0 发布时间:2023-5-14 17:02

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版