一、前言
之前我们介绍了STM32通过杜邦线和USB转RS232模块与咱们的笔记本电脑进行串口通信,我们可以将传感器与单片机相连进行实时采样并ADC转化,将所得到的数据通过串口助手反映到咱们的电脑上。那么可能就有小伙伴要问了,咱们只能进行单片机与电脑间的通信吗,不能在两台电脑之间进行通信吗,今天咱们就要运用USB转RS232模块与简单的几根杜邦线将两台电脑相连并进行通信。
二、题目要求
串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。
三、实验过程
1、USB转RS232连线方式
之前在向MCU中烧录程序和串口通信时,我们已经讲过咱们USB转RS232模块的接线方式,即:
如图:![请添加图片描述](https://img-blog.csdnimg.cn/436e53ba700240bc8d0db7fa03468eb0.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_20,color_FFFFFF,t_70,g_se,x_16)
2、电脑连线与配置
咱们用杜邦线将两个USB转RS232模块连接起来后,就可以直接将两个模块的USB接口接到咱们的两台电脑上了。 ![请添加图片描述](https://img-blog.csdnimg.cn/3fb993346e84410abd56dadaf5ac8caf.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_20,color_FFFFFF,t_70,g_se,x_16) 紧接着,咱们在两台电脑上都打开串口助手(要有文件传输功能),将波特率都设置为115200,在我们的发送端选择串口—>打开串口,做好发送文件的准备。![在这里插入图片描述](https://img-blog.csdnimg.cn/b45cd20db3844ce59455a9e5b7da7334.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_18,color_FFFFFF,t_70,g_se,x_16) 然后我们需要在发送端选择我们要发送的文件,这里我选择的是一张图片传送给接收端: ![在这里插入图片描述](https://img-blog.csdnimg.cn/f1a8c493a26e44f69d116d3d33b38289.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_20,color_FFFFFF,t_70,g_se,x_16) 打开我们的接收端串口助手,波特率咱们也设置为115200,然后也打开对应串口就可以等待发送端传送文件啦: ![在这里插入图片描述](https://img-blog.csdnimg.cn/205dd7b5708e4882a5baa79de8ac3ca1.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_20,color_FFFFFF,t_70,g_se,x_16)
这里注意,由于我做实验时接收端与发送端的串口助手版本不一样,所以我们看到的串口助手界面不一样,由于接收端的串口助手版本更高,所以我们一打开该串口助手就可看到我们接收到的文件路径,后续我们就可以去对应路径打开该文件: ![请添加图片描述](https://img-blog.csdnimg.cn/174655508f044692b645d94a5bdd264d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_20,color_FFFFFF,t_70,g_se,x_16)
咱们选择好需要发送的文件之后就可以开始发送了,点击发送文件开始向接收端传送咱们的奥特曼: ![在这里插入图片描述](https://img-blog.csdnimg.cn/b4e0299de4c74b01886daf0329853898.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_18,color_FFFFFF,t_70,g_se,x_16) ![请添加图片描述](https://img-blog.csdnimg.cn/404dea014f3b49a4bb8a47dbef4f6c06.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_18,color_FFFFFF,t_70,g_se,x_16)
此时咱们接收端会看到很神奇的景象,由于传送的是一张图片,所以接收框里的数据咱们根本看不懂,只需要静静等待发端传送完毕就OK啦,收端如下图: ![请添加图片描述](https://img-blog.csdnimg.cn/d47a5c6a8b1f4871bf61b7dc95741e5d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_20,color_FFFFFF,t_70,g_se,x_16) ![请添加图片描述](https://img-blog.csdnimg.cn/e4ea5804804a4297bb396a3da94341f8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_18,color_FFFFFF,t_70,g_se,x_16) 发送完毕,咱们看看接收端接收到的文件: ![请添加图片描述](https://img-blog.csdnimg.cn/ddb246b18f3a421dbac51de47effe13b.png) 选择好打开方式就可以看到最后我们得到的效果: ![请添加图片描述](https://img-blog.csdnimg.cn/b567b2ece0e34fed9dacd8c8bc91fff7.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_20,color_FFFFFF,t_70,g_se,x_16) 传输成功!
四、理论传输时间与实际传输时间
实际传输时间咱们可以根据串口助手上提示的,大约需要17秒,所以咱们的实际传输时间为17s 而我们的理论传输时间需要我们自己计算,理论传输时间=文件大小198527×8/波特率115200bps≈13.7866s 所以我们得出结论实际传输时间需要大约17s,而理论传输时间则只需要13.7866s,实际传输时间比理论传输时间长,这是因为过程中可能出现丢包以及错误重传导致的。
|