基于HAL库的stm32f103c8t6 串口通信实验(串口传输文件)

基于HAL库的stm32f103c8t6 串口通信(传输文件)

串口传输文件

(1)实验任务

将两台笔记本电脑,借助 USB/TTL转RS232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(如sscom,带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑。

1、预估文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。
2、如果只接TX–RX, RX–TX 这样两根线,不接电源线或者不接GND地线,文件传输是否还能正常工作?请解释原因。

(2)实验原理

1、串口通信

串口通信指两个或两个以上的设备使用串口按位(bit)发送和接收字节。可以在使用一根线发送数据的同时用另一根线接收数据。 串口通信协议就是串口通讯时共同遵循的协议。 协议的内容是每一个bit 所代表的意义。 常用的串口通信协议 有以下几种
1、 RS-232(ANSI/EIA-232标准) 只支持 点对点, 最大距离 50英尺。最大速度为128000bit/s, 距离越远 速度越慢。 支持全双工(发送同时也可接收)。
2、RS-422(EIA RS-422-AStandard),支持点对多一条平衡总线上连接最多10个接收器 将传输速率提高到10Mbps,传输距离延长到4000英尺(约1219米),所以在100kbps速率以内,传输距离最大。支持全双工(发送同时也可接收)。
3、RS-485(EIA-485标准)是RS-422的改进, 支持多对多(2线连接),从10个增加到32个,可以用超过4000英尺的线进行串行通行。速率最大10Mbps。支持全双工(发送同时也可接收)。2线连接时 是半双工状态。
在这里插入图片描述

2、RS-232通信协议

RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中EIA (Electronic Industry Association)代表美国电子工业协会,RS(recommended standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有EIARS-422A、EIA RS-423A、EIARS-485。这里只介绍EIA RS-232C(简称232,RS232)。例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。
RS232的工作方式是单端工作方式,这是一种不平衡的传输方式,收发端信号的逻辑电平都是相对于信号地而言的,RS232最初是DTE(数字终端设备)和DCE(数据通信设备)一对一通信,也就是点对点,一般是用于全双工传送,也可以用于半双工传送。采用负逻辑传送,规定逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15 V。选用该电气标准的目的在于提高抗干扰能力,增大通信距离。RS -232的噪声容限为2V,接收器将能识别高至+3V的信号作为逻辑“0”,将低到-3 V的信号作为逻辑“1”。
如DB9接口:
在这里插入图片描述
在这里插入图片描述
在进行通信时,需要接地,然后发送端的接收端RX、TX反向连接

3、RS232电平与TTL电平的区别

TTL电平标准:

输出 L: <0.8V ; H:>2.4V。

输入 L: <1.2V ; H:>2.0V

TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。

RS232标准:

采用负逻辑电平:
  逻辑1为-3~-15V的电压
  逻辑0为3~15V的电压
在这里插入图片描述

4、"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理

CH340 是一个USB 总线的转接芯片,实现USB 转串口、USB 转IrDA 红外或者USB 转打印口。为了增加串口通讯的远距离传输及抗干扰能力,RS-232标准使用-15V 表示逻辑 1, +15V 表示逻辑 0。常常会使用 MH340芯片对 USB/TTL与RS-232电平的信号进行转换。
CH340驱动就是USB转串口的驱动的一种,因为我们现在的电脑上,已经不存在串口,所以我们一般使用USB转串口芯片,目的只有一个,把电脑的USB口映射为串口用。常用的USB转串口芯片有CH340、CP2102、PL2303、FT232等。芯片是CH340的均可以使用。安装CH340驱动之后,我们使用的开发板子(单片机)连接串口就可以正常发挥其功能了。电脑usb电平转为TTL电平。

电路原理图:
在这里插入图片描述

(3)实验过程

1、下载串口调试助手sscom

2、将两个“USB/TTL”用杜邦线正确连接,这里我将TXD连接RXD,RXD连接TXD,5V连接5V,GND连接GND。如图所示
在这里插入图片描述

3、 两个“USB/TTL”分别接入两台计算机的USB接口
4、发送方选择文件发送,这里我们选择了一张图片作为发送文件:

在这里插入图片描述
5、接收方串口示意图:
在这里插入图片描述

6、点击保存数据:
在这里插入图片描述
7、保存的文件是.DAT后缀,改成.jpg后缀查看
在这里插入图片描述

8、最后查看图片,成功接收:
在这里插入图片描述

(4)实验分析

接收到的图片信息如下
在这里插入图片描述
由于:128KB=128×1024×8=1048576位,波特率=115200位/s。带入公式可得:
​理论时间= 1048576位/115200位/秒,约等于:44.96秒!
对比可知理论传输时间要小于实际传输时间。分析原因是在传输过程其中插入了一些延时,或者是传输过程中出错导致。
如果只连接TX和RX,而不连接电源和地线,文件传输将无法正常工作,大多数电子设备,包括用于文件传输的设备,都需要电源来供电。电源线(VCC)提供设备运行所需的电压,而地线(GND)则提供参考电压点,确保电子元件能够正确工作。
在传输过程中一开始会出现丢包情况,可能由于接线问题等,这样的话就会接收不到文件。

参考博客:
https://blog.youkuaiyun.com/2301_77559737/article/details/144264990
https://blog.youkuaiyun.com/sjsnsnsnsi/article/details/134039231

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值