1.2STM单片机通信方式

本文详细介绍了串行通信的分类(单工、半双工、全双工及同步/异步),着重讲解了STM32的UART和USART接口,以及如何在STM32与PC间通过RS232电平转换实现通信,包括使用Max232芯片的实例。
摘要由CSDN通过智能技术生成

一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。并行与串行通信的区别如下表所示。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

串行通信的分类

1、按照数据传送方向,分为:

  • 单工:数据传输只支持数据在一个方向上传输;

  • 半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口。

  • 全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

2、按照通信方式,分为:

同步通信:带时钟同步信号传输。比如:SPI,IIC通信接口。

异步通信:不带时钟同步信号。比如:UART(通用异步收发器),单总线。

3.

常见的串行通信接口

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

STM32串口通信基础

STM32的串口通信接口有两种,分别是:UART(通用异步收发器)、USART(通用同步异步收发器)。而对于大容量STM32F10x系列芯片,分别有3个USART和2个UART。

UART引脚连接方法

  • RXD:数据输入引脚,数据接受;

  • TXD:数据发送引脚,数据发送。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

对于两个芯片之间的连接,两个芯片GND共地,同时TXD和RXD交叉连接。这里的交叉连接的意思就是,芯片1的RxD连接芯片2的TXD,芯片2的RXD连接芯片1的TXD。这样,两个芯片之间就可以进行TTL电平通信了。STM32与51单片机串口通信相关实例,请移步此处:STM32与51单片机串口通信实例。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

若是芯片与PC机(或上位机)相连,除了共地之外,就不能这样直接交叉连接了。尽管PC机和芯片都有TXD和RXD引脚,但是通常PC机(或上位机)通常使用的都是RS232接口(通常为DB9封装),因此不能直接交叉连接。RS232接口是9针(或引脚),通常是TxD和RxD经过电平转换得到的。故,要想使得芯片与PC机的RS232接口直接通信,需要也将芯片的输入输出端口也电平转换成RS232类型,再交叉连接。

经过电平转换后,芯片串口和RS232的电平标准是不一样的:

  • 单片机的电平标准(TTL电平):+5V表示1,0V表示0;

  • RS232的电平标准:+15/+13 V表示0,-15/-13表示1。

RS-232通讯协议标准串口的设备间通讯结构图如下:

f9cb67c3d53140f9a4a99c4cbd48bbb0.jpg

 

所以单片机串口与PC串口通信就应该遵循下面的连接方式:在单片机串口与上位机给出的RS232口之间,通过电平转换电路(如下面图中的Max232芯片) 实现TTL电平与RS232电平之间的转换。STM32与PC之间通信实例,请移步此处:STM32实例-用按键控制串口发送数据。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值