|
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、串行通信按照数据传送方向,分为: 1.单工:数据传输只支持数据在一个方向上传输 。 2.半双工:允许数据在两个方向上传输,但是在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;% 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
' ]2 d% V" f2 \+ R6 u0 }# x 3、串行通信的通信方式 : 1.同步通信:带时钟同步信号传输,根据时钟信号传输。 -SPI,IIC通信接口 2.异步通信:不带时钟同步信号,需规定波特率来通信。 -UART(通用异步收发器),单总线 : W" j, T7 W( L* L6 }# N6 y; V
* I: V% {& o- t3 a5 f9 W- B 4、STM32的串口通信接口 :( @5 Q3 u3 M8 g( p1 m- a8 `, ^ 1.UART:通用异步收发器 UART异步通信方式特点:) J. x& l9 H6 }1 E# D# |* L 全双工异步通信。 分数波特率发生器系统,提供精确的波特率。-发送和接受共用的可编程波特率,最高可达4.5Mbits/s 可编程的数据字长度(8位或者9位); 可配置的停止位(支持1或者2位停止位);' f8 T# G! ]) e 可配置的使用DMA多缓冲器通信。 单独的发送器和接收器使能位。' y H& s% Z% H& F 检测标志:① 接受缓冲器 ②发送缓冲器空 ③传输结束标志 多个带标志的中断源。) D. Y K. w2 U 触发中断。 其他:校验控制,四个错误检测标志。( S, o/ M' F& b, o& d 2.USART:通用同步异步收发器 5、UART异步通信方式引脚连接方法:$ q' ]8 _8 r$ k; ` -RXD:数据输入引脚。数据接受。 -TXD:数据发送引脚。数据发送。% F0 d! C- H" T/ F. e- f* }
7 j8 G# z0 R1 T- R
8 x! k( r, [. a$ O$ P5 y: r 6、串口通信过程: " ]! h( R+ n4 ]# v/ o3 E
7、STM32串口异步通信需要定义的参数: & ], l( x! \9 p4 x 起始位 数据位(8位或者9位) 奇偶校验位(第9位) 停止位(1,15,2位) 波特率设置 ( v! w. n( K/ D, ^4 |
8、USATR框图:
9、常用的串口相关寄存器:6 ` {9 p3 V$ `1 n' _( H% T 1.USART_SR状态寄存器
2.USART_DR数据寄存器- O) r6 l% K, o$ N/ r
& H2 n1 P" P' G 3.USART_BRR波特率寄存器
波特率计算方法:
- Z+ a% V$ |/ F. T' T& Y/ V
, }; z' [. N8 R$ r) \5 J C p4 J 10、串口配置的一般步骤: 串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();8 o% j6 U2 E" B/ N5 `% D4 _ 串口复位:USART_DeInit(); 这一步不是必须的 GPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF_PP 串口参数初始化:USART_Init();1 s0 f0 N# [: A2 Y 开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤) NVIC_Init(); USART_ITConfig(); 使能串口:USART_Cmd();1 t, {, k( L* m# V4 y 编写中断处理函数:USARTx_IRQHandler(); 串口数据收发: 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 ———————————————— 版权声明:集中注意力619 如有侵权请联系删除 # p& n: s) S* V% G |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版