嵌入式系统基础:使用两个串口传输文件

使用两个串口传输文件

实验平台:一台电脑(或两台)
实验器材:两根杜邦母线和两个串口
串口调试助手:SSCOM

文章目录

  • 使用两个串口传输文件
    • 一、串口连接电脑
    • 二、传输大文件
      • 1. 默认速度传输:115200波特率
      • 2. 开始加速:波特率2000000!
      • 3. 减速传输:波特率9600
    • 三、总结
    • 四、参考文章

一、串口连接电脑

使用两根杜邦母线将两个串口的RXD, TXD交叉相连接,实现数据互传。本次实验为了节省成本选择一台电脑,利用两个不同的USB接口来模拟两台电脑。
效果如图所示:
嵌入式系统基础:使用两个串口传输文件_第1张图片

注意线不要接错了,虽然3V电不死人但还是很痛的。

连接测试:
这里我们使用XCOM来测试连接是否成功,这里我们同时打开两个窗口,每个窗口选择不同的串口(这里我们可以看到COM6和COM7都是CH340),并都把波特率设置为115200,然后使用文本进行测试:

嵌入式系统基础:使用两个串口传输文件_第2张图片
串口六发送数据后串口七接收成功,证明连接正常,可以开始下一步。

二、传输大文件

平时串口传输的都是文本信息,所以即使是一张图片也相对而言大了不少,所以这里我们的大文件就选择为一张大小为939kb的jpg图片:
嵌入式系统基础:使用两个串口传输文件_第3张图片
这里我们使用SSCOM开始实验,他的功能相比于XCOM更加丰富,满足我们的实验要求。

1. 默认速度传输:115200波特率

  • 打开两个SSCOM窗口,分别设置不同的窗口但同样的波特率115200,数据位8,停止位1,无校验位。
    嵌入式系统基础:使用两个串口传输文件_第4张图片* 按照图中步骤开始传输文件
    嵌入式系统基础:使用两个串口传输文件_第5张图片
    传输过程是一堆乱码,不要慌,这很正常,说他是乱码只是因为我们看不懂而已。

  • 找到接收到的文件,更改.dat后缀为jpg,得到原图
    嵌入式系统基础:使用两个串口传输文件_第6张图片

嵌入式系统基础:使用两个串口传输文件_第7张图片

2. 开始加速:波特率2000000!

本次传输SSCOM显示耗费了83s,尽管实际要快一点,但还是比较慢,我们试试更高的波特率,直接拉满:
嵌入式系统基础:使用两个串口传输文件_第8张图片

  • 开始传输:显示只需要4s,实际花费了6s左右
    嵌入式系统基础:使用两个串口传输文件_第9张图片

3. 减速传输:波特率9600

在这里插入图片描述

  • 开始发送,显示需要1002s
    在这里插入图片描述
  • 并且右边的接收窗口中的乱码也不再占满整个屏幕了
    嵌入式系统基础:使用两个串口传输文件_第10张图片
    证明每次收到的字段变小了

三、总结

由此见得串口的传输速度跟波特率的大小有关系,而且当硬件满足一定条件时,会更快或者更慢。

经查阅资料,波特率和数据的传输速率有关系,但是波特率并不是数据传输速率,数据传输速率是比特率。比特率在数值上和波特率满足下列公式:

I=S*log2N

I为传信率,S为波特率,N为每个符号承载的信息量,而以比特为单位。波特率与比特率的关系也可换算成:比特率=波特率*单个调制状态对应的二进制位数。

四、参考文章

平行叶子: 两个串口之间传输文件
醉意丶千层梦: 通过串口发送图片

你可能感兴趣的:(嵌入式系统,单片机,stm32,嵌入式硬件)