
STM32-USART串口的应用内容概要: % b7 d. @' k: d) g% W5 w" m/ r1 ? 串行通信的基本概念
串口寄存器介绍
STM32实现串口数据的收发 9 {; F" t, X& P. m- H HAL串口库函数的使用及printf的实现
串行通信的基本概念: 内容概要: 通信的基本概念 USART介绍 串口的电路连接 串口的通信协议 同步通信和异步通信: : B( K! |5 W6 @2 R/ s3 L7 b( O! Z0 D 通信,最少要有两个对象,一个收,一个发。 0 m0 H1 k! B" Z# i; o, N 同步通信:一般情况下同步通信指的是通信双方根据同步信号进行通信的方式。比如通信双方有一个共同的时钟信号,大家根据时钟信号的变化进行通信。 6 b a, R* G7 f# j( B+ C+ Z
异步通信:是指数据传输速度匹配依赖于通信双方有自己独立的系统时钟,大家约定好通信的速度。异步通信不需要同步信号,但是并不是说通信的过程不同布。
串行通信和并行通信的区别: / p( I8 t" ` k4 F 串行通信:指的是同一时刻只能收或发一个bit位信息。因此只用1根信号线即可。 并行通信:指的是同一时刻可以收或发多个bit位的信息,因此需要多根信号线才行。
-串行传输:数据按位顺序传输。 -并行传输:数据各个位同时传输。 -优点:占用引脚资源少 -优点:速度快 -缺点:速度相对较慢 -缺点:占用引脚资源多 % r8 `3 [( u/ `, l+ u! Z8 ?9 j' L6 R 单工、半双工、全双工: 单工:要么收,要么发,只能做接收设备或者发送设备。比如收音机 半双工:可以收,可以发,但是不能同时收发, 比如对讲机 全双工:可以在同一时刻既接收,又发送。 手机 $ \! g2 c+ E( U. m) I
常见通信总结: : u0 T1 J) `1 n) {% q
USART基本概念: ) o) ^6 s! q: {8 {! A5 F 通用同步异步收发器(USART)灵活地与外部设备进行全双工数据通信,满足外部设备对工业标准NRZ异步串行数据格式的要求。USART通过小数波特率发生器提供了多种波特率。它支持同步单向通信和半双工单线通信;还支持LIN(局域互联网络),智能卡协议与IrDA(红外数据协会)SIR ENDEC规范,以及调制解调操作(CTS/RTS)。而且,它还支持多处理器通信。 USART支持同步模式,因此USART 需要同步始终信号USART_CK(如STM32 单片机),通常情况同步信号很少使用,因此USART和一般单片机UART使用方式是一样的,都使用异步模式。 $ I' Y- r- |* U, u2 p" }' H ) Z4 r$ N! ]! E5 k 串口电路连接:
STM32f051串口:STM32F051内置多达两个通用同步 / 异步收发器( USART1 和 USART2 ),通信速度可达 6 Mbit / s ! A6 `0 W5 Z! T1 z
串口通信协议介绍:
波特率: 在串行通信中,用“波特率”来描述数据的传输速率。所谓波特率,既每秒传送的二进制位数,其单位为bps(bits per second)。它是衡量串行数据速度快慢的重要指标。
国际上规定一个标准的波特率系列: 110、300、600、1200、1800、2400、4800、9600、115200、14.4Kbps、19.2Kbps、…… 例如:115200bps、指每秒传送115200位。通信双方必须设置同样的同学速率才能正常通信 注意:实际的数据没这么多,还包括起始位,结束位,校验位 $ O9 w2 ]: k1 ~/ q% \: d% x
内容概要: 控制寄存器——USART_CR 状态寄存器——USART_SR 数据寄存器——USART_DR 波特率寄存器——USART_BRR 串口寄存器-USART_CR1:
串口寄存器-USART_CR2:
串口寄存器-USART_BRR: % I! E- \& [! [1 Y' t
串口寄存器-USART_ISR: 9 z# J1 l3 a+ l" t% X/ b9 S" e4 [
串口数据的发送和接收: ! I- o7 X& D/ _5 I5 p3 v7 V; |8 a
串口寄存器-USART_TDR: + F1 E' _" }) t( n# h
( o( z8 T# I4 a
串口寄存器-USART_RDR:
5 v: t0 ?( w( X9 i6 u5 b5 `" n; u STM32实现串口数据的收发 7 g/ |( H; E8 ?! g ^/ z 内容概要: 串口硬件原理图 CubeMX中串口的配置 串口发送一个字符 串口接收一个字符 串口硬件原理图: " Y3 V9 Y3 X2 [# M4 [- }/ r" [
8 e5 x0 h: t& h/ _ 注意:如果无法识别串口,清装好ch340串口驱动 , N+ r; l# C; j! x# c " G( U% {# n4 ^( Y( s8 S, G$ Q CubeMX中串口的配置:
7 Q# `' g H! [
2 j& N4 i7 E; s& \ q: D/ |$ A
串口数据的发送和接收:
4 R7 B$ R5 n: g ]: i% Q 串口发送一个字符:
/ ^8 X& J; A/ X6 h; P7 m 串口接收一个字符: ( V I# Q+ I' _4 {/ ]; ^5 _3 H' X! L
HAL串口库函数的使用及printf的实现3 y8 O/ ^& k& J& ?( J1 @ HAL库中串口的收发函数: # l: Q; w: K# v
printf()实现串口重定向:
0 b% ]1 P3 a1 |$ Z* ]/ T9 `; c * @3 x0 f" F R; L) N' L: R 8 O( g: d! E" L- x9 m0 \) k |
意法半导体与高通达成无线物联网战略合作
《RT-Thread设备驱动开发指南》书籍学习记录
[STM32WB55评测] 开箱
【我心中的STM32WBA52】
【我心中的STM32WBA52】
将STM 32 Lora DiscoveryKit连接到AWS物联网(三)
【STM32】STM32G030C8T6 开发板分享
STM32线上技术周回顾|Day3 智能物联答疑汇总
IAR ETM Trace提供哪些调试功能
物联网STM32开发板套件通过互联网与云服务器通信源程序