精华内容
下载资源
问答
  • 2021-11-18 20:36:33

    目录

    一、串口介绍

    二、简单串口传输

    2.1、实验要求

    2.2、实验设备

    2.3、实验操作

     三、结论分析


    一、串口介绍

    串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

    串行通讯的特点是:数据位的传送,按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。

    二、简单串口传输

    2.1、实验要求

    串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。

    2.2、实验设备

    1、笔记本电脑2台(或者能够实现串口的任意设备)

    2、USB 转 TTL 串口两个

    3、杜邦线若干

    2.3、实验操作

    1、首先,电脑需要下载串口链接助手以及必备的串口连接工具,这里推荐使用SSCOM串口助手(不推荐使用野火的串口助手),SSCOM串口助手可选择的文件类型较多,并且在传输时会给出预计传输时间,方便我们对实际值和预估值进行对比。

    2、连接TTL串口线,并连接两台电脑

    • 两USB串口对应链接 RXD,TXD反串连接
    • TXD -> RXD 后将Usb串口接到电脑com口

    注:如果发送不成功的话,可以试着把两边的串口电源地线都接上

    如下图: 

    3、启动串口调试助手,并打开串口,将两台电脑调制相同的波特率。

    具体步骤为点击串口设置->选择自己的串口以及波特率->在端口号那选择自己的串口->打开串口->选择自己的文件最后传输。 

    我这里先选择波特率为115200

     4、开始传输文件

    可以看见对于一个2M左右的文件,采用115200波特率传输的话预估值需花费233秒,将近4分钟,由此可以看出串口传输是真的很慢。

    将波特率换成 2000000,可以发现预估时间为22秒,快了将近10倍,由此可以看出,波特率的选择对于文件传输快慢还是有较大影响的。

     三、结论分析

    1、在这两次串口文件传输中,可以明确的观察出,文件的传输速率在一定程度上与波特率相关,在一定范围内,与波特率成正相关,倍数增长,传输消耗时间减少。
    2、但是当波特率波动较大的情况下,如在pdf文件传输中,由115200->2000000中,预计时间减少少10倍左右,但是在实际传输过程中,消耗时间却与预估时间存在着较大误差。
    3、通过本次实验,可以比较完整的论证了串口传输的特点:速度慢,但操作十分简单。同时,在传输文件的过程中,会发现,传输的文件打开都是乱码的,我查阅了很多资料,按照他们给出的方法也没有解决乱码的问题。(如果有大佬解决了这个问题的,麻烦留言指导一下,非常感谢)

    ps:经过文章的翻阅,发现可以在发送文件时,选择HEX显示以及保存数据到文件,这样在相应文件中打开,便可以得到发送的文件。

    更多相关内容
  • python串口传输.rar

    2019-09-06 18:09:32
    python串口通信,读取文件内容并通过串口传输至接收程序。
  • 计算串口发送数据所需要的时间
  • 主要介绍了python Arduino串口传输数据到电脑并保存至excel表格,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 传输格式采用“山外多功能调试助手”的摄像头传输格式;波特率可以随意调;同时将最新采集的一帧图像保存为bmp格式的图片。
  • Qt串口传输图片

    2016-10-14 13:33:25
    使用方法详见博客:http://blog.csdn.net/caoshangpa/article/details/50915005
  • 本文档一共整理了六种方案操纵串口数据,希望对大家有所帮助
  • 串口ymodem传输文件

    2021-02-15 04:30:19
    串口传输文件可以采用三种协议xmodem、ymodem、zmodem,本程序只做针对ymodem协议的实现,包括发送方的程序和接收方的程序,下载后在linux平台下执行make即可用,已通过多次测试。
  • 串口传输文件

    千次阅读 2021-11-14 16:39:25
    文章目录一、实验简介二、通过串口传输文件1、简单的对话2、文件的传输3、思考三、实验总结四、参考资料 一、实验简介 本次实验将首先通过串口来进行发送和接收信息,然后将通过串口发送文件。由于实验设备的限制,...

    本文主要叙述通过串口来进行文件传输


    一、实验简介

    本次实验将首先通过串口来进行发送和接收信息,然后将通过串口发送文件。由于实验设备的限制,本次实验通过笔记本电脑的两个USB口,再通过两个TTL转USB模块和杜邦线连接。

    注意:需要将TXD接另一个模块的RXD,RXD接另一个模块的TXD,不需要接电源和地。

    效果图也比较简单,这里就不做展示了。关于串口通信的相关原理可以参考我之前的博客STM32F103串口通信USART小试牛刀_江南烟脓雨的博客-CSDN博客

    二、通过串口传输文件

    在正确连接好硬件后,我们打开串口调制工具,这里选择的是SSCOM软件,有需要的可以在网上搜索到相应的安装包。打开两次SSCOM软件,然后分别选择两个不同的串口

    注意:这里需要设置波特率等相关参数一致

    1、简单的对话

    通过对话框发送简单的文字,信息会通过杜邦线将信息传递回来。比如,我们通过串口6发送Hi,串口7便会接收到串口6发来的信息Hi。再通过串口7发送Hello,wolrd!,串口6会接收到串口7发送的信息。
    在这里插入图片描述

    图2.1

    2、文件的传输

    接下来是主角的进场了——文件的传输。首先需要在SSCOM中打开文件,这里笔者选择发送一张jpg格式的图片。
    在这里插入图片描述

    图 2.2

    然后点击发送文件,此时串口7便会接收到串口6发送的数据。

    注意需要勾选接收数据到文件,否则没有文件生成

    在这里插入图片描述

    图 2.3

    在SSCOM的同级目录下,将文件名更改为jpg结尾。如果在文件中查看文件时没有文件扩展名(后缀),在文件资源管理器的菜单栏点击查看将文件扩展名选项勾选上,然后再修改文件名。
    在这里插入图片描述

    图 2.4

    下面是对比图(左边是串口传输的文件,右边是源文件)
    在这里插入图片描述

    图 2.5

    3、思考

    笔者还试过不同的波特率,也遇到一些问题。当波特率过高时,误码率上升,因为根据著名的香农公式
    C = B log ⁡ 2 ( 1 + S N ) C=B\log_{2}({1+\frac{S}{N}}) C=Blog2(1+NS)
    当信噪比一定时,令 x = S / N 0 x=S/N_0 x=S/N0,这样上面的公式可以写成
    C t = S n 0 B n 0 S log ⁡ 2 ( 1 + x ) 1 / x = S n 0 log ⁡ 2 ( 1 + x ) 1 / x C_t=\frac{S}{n_0}\frac{Bn_0}{S}\log_{2}(1+x)^{1/x} =\frac{S}{n_0}\log_{2}(1+x)^{1/x} Ct=n0SSBn0log2(1+x)1/x=n0Slog2(1+x)1/x
    又利用关系式,
    lim ⁡ x − > 0 ln ⁡ ( 1 + x ) 1 / x = 1 \lim_{x->0}\ln(1+x)^{1/x}=1 x>0limln(1+x)1/x=1

    log ⁡ 2 a = log ⁡ 2 e ⋅ ln ⁡ a \log_{2}{a}=\log_{2}{e}\cdot\ln a log2a=log2elna
    可以推出
    lim ⁡ B − > ∞ C t = lim ⁡ x − > 0 S n 0 log ⁡ 2 ( 1 + x ) 1 / x = S n 0 log ⁡ 2 e ≈ 1.44 S n 0 \lim_{B->\infty}C_{t}=\lim_{x->0}{\frac{S}{n_0}\log_{2}(1+x)^{1/x}}=\frac{S}{n_0}\log_{2}e\approx1.44\frac{S}{n_0} B>limCt=x>0limn0Slog2(1+x)1/x=n0Slog2e1.44n0S
    所以,波特率趋于无穷大时,传输速率实则趋近于恒定的值。当我使用这个软件的最大波特率2000000波特率时,传输的文件转化为图片,打开时出现了一些错误。同时,SSCOM软件根据波特率和文件大小计算出了传输时间。如果以I为传信率,S为波特率,N为每个符号承载的信息量,则
    I = S log ⁡ 2 N I=S\log_{2}N I=Slog2N

    这次的文件传输实验,实际用时在20s左右,比预计的14s左右要慢6s。

    三、实验总结

    本次实验相对比较简单,但是从中也可以学习到有关串口和通信的相关知识。比如文章末尾提到的香农公式,感兴趣可以自行查看通信原理有关的知识。

    四、参考资料

    波特率和数据传输速率的关系 - 丶尘丶 - 博客园 (cnblogs.com)

    展开全文
  • 通过串口传输文件.rar

    2019-08-19 17:00:26
    通过串口传输文件.rar
  • STM32单片机资料 USB读写U盘 通过串口传输U盘数据源公司把USB口封了,串口也可插U盘 设计思路:利用STM32的ARM CPU作为主控+CH375 USB HOST芯片,设计出一个转换板,U盘插进这个板上,板的另一头则是串 口,插到电脑...
  • 串口传输.rar

    2019-08-29 18:14:42
    用python编写的串口传输字库的程序 上位机和下位机都有 本资源包括RCT6 C8T6的寄存器版本 库函数版本的下位机 向W25Q16中写入字库 和用python编写的上位机 以及用于生成字库的字库软件
  • 设计了一种基于USB3.0和FPGA的多串口传输系统,以实现超高速数据传输。介绍了系统的硬件设计框架及系统的软硬件设计流程,给出了系统软件设计框图、FPGA设计逻辑模块以及时序。最后给出了实验结果,验证了该系统的...
  • 练习串口传输文件

    千次阅读 2021-11-14 17:26:24
    然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。 这里会用到一些串口...

    目录

    一、实验叙述 

    二、通过串口传输文件

    1、简单的对话

    2、文件的传输

    3、延伸


    ​​​​​​​

    一、实验叙述 

    将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。

    这里会用到一些串口通信的知识,可以参考一下之前的博客完成一个STM32的USART串口通讯程序_afadgfansfa的博客-CSDN博客任务:完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式),要求:1)设置波特率为115200,1位停止位,无校验位;2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。想了解串口通信的参照此博客:https://blog.csdn.net/afadgfansfa/article/details/120956561?spm=1001.2014.3001.5502https://blog.csdnhttps://blog.csdn.net/afadgfansfa/article/details/121022298?spm=1001.2014.3001.5501

    二、通过串口传输文件

    正确连接硬件,打开串口调制工具,并且打开两次SSCOM软件,选择两个不同的串口。

    ps:设置波特率等相关参数一致

    1、简单的对话

    通过对话框发送简单的文字,信息会通过杜邦线将信息传递回来。比如,我们通过串口6发送Hi,串口7便会接收到串口6发来的信息Hi。再通过串口7发送Hello,wolrd!,串口6会接收到串口7发送的信息。

    2、文件的传输

    接下来文件的传输。首先需要在SSCOM中打开文件。

    然后点击发送文件,此时串口7便会接收到串口6发送的数据。 

    注意需要勾选接收数据到文件,否则没有文件生成 

    在SSCOM的同级目录下,将文件名更改为jpg结尾。如果在文件中查看文件时没有文件扩展名(后缀),在文件资源管理器的菜单栏点击查看将文件扩展名选项勾选上,然后再修改文件名。 

    下面是对比图(左边是串口传输的文件,右边是源文件) 

    3、延伸

    笔者还试过不同的波特率,也遇到一些问题。当波特率过高时,误码率上升,因为根据著名的香农公式:
                                                   C=B log2​ (1+NS​)

    当信噪比一定时,令 x = S / N 0  ,这样上面的公式可以写成


                            C t = S n 0 B n 0 S log ⁡ 2 ( 1 + x ) 1 / x = S n 0 log ⁡ 2 ( 1 + x ) 1 / x 


    又利用关系式,


                            lim ⁡ x − > 0 ln ⁡ ( 1 + x ) 1 / x = 1


                                    log ⁡ 2 a = log ⁡ 2 e ⋅ ln ⁡ a

    可以推出


            lim ⁡ B − > ∞ C t = lim ⁡ x − > 0 S n 0 log ⁡ 2 ( 1 + x ) 1 / x = S n 0 log ⁡ 2 e ≈ 1.44 S n 0

    所以,波特率趋于无穷大时,传输速率实则趋近于恒定的值。当我使用这个软件的最大波特率2000000波特率时,传输的文件转化为图片,打开时出现了一些错误。同时,SSCOM软件根据波特率和文件大小计算出了传输时间。如果以I为传信率,S为波特率,N为每个符号承载的信息量,则
                                    

                                            I = S log ⁡ 2 N

    展开全文
  • DHT11串口传输

    2018-10-28 13:26:35
    DHT11串口传输数据,keil编写,由于单片机串口传输DHT11检测数据
  • 通过串口传输数据三、总结参考文献 一、串口通信概述 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。 串行接口简称为串口,串行接口 (Serial Interface)是指数据一位一位...

    一、串口通信概述

    串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。

    串行接口简称为串口,串行接口 (Serial Interface)是指数据一位一位地顺序传送。实现双向通信就需要一对传输线,即TX与RX线。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。

    1. 串口如何连接

    电路连接方式:
    串口如果要实现双向传输,则设备1与设备2,TX与RX要交叉相连。
    在这里插入图片描述
    起始位: 数据线TX由高电平变为低电平。
    停止位: 数据线TX由低电平变为高电平。

    起始位和停止位作用:
      如果接收设备检测到数据线由高电平变为低电平,就是接收到了来自发送设备的起始信号,表示开始数据的传输。如果接收设备检测到数据线由低电平变为高电平,就是接收到了来自发送设备的停止信号,表示一帧数据的结束,通过以上特点接收设备就可以将中间的8bit有效数据解析出来,这样就完成了一帧数据的传输。

    2. 如何计算波特率

    串口传输格式:我们通常用的串口传输格式为:1bit起始位+8bit数据位+1bit停止位(无奇偶校验位),如下图所示
    在这里插入图片描述
    所以传输1Byte数据串口需要传输10bit数据。上面计算得传输1Bit需要的时间为8.68us,则传输1Byte需要时间为8.68*10=86.8us。

    波特率
      由基础知识知50M系统时钟—波特率为115200条件下传输1bit需要计数个数为434。那么1Byte(串口传输格式为:1bit起始位+8bit数据位+1bit停止位)是不是循环计数10次434就可以传输完毕。

    要注意的是,串口通信的两台主机之间,波特率要一致,下面两图演示了波特率一致与不一致的情况

    收发波特率一致:
    在这里插入图片描述

    收发波特率不一致:
    在这里插入图片描述
    计算公式
    以波特率115200为例

    波特率115200 = 115200 (位/秒)。

    如果没有校验位,就应该除以 10,得到的是每秒字节数:波特率115200 = 115200 (位/秒) = 11520 (字节/秒)

    再除以 1024,就是每秒 KB 数:波特率115200 = 115200 (位/秒) = 11.25 (KB/秒)。如果有一位奇偶校验位,就应该除以 11,得到的是每秒字节数。

    最后得出:波特率115200 = 115200 (位/秒) = 10.27 (KB/秒)


    二、实验演示

    1. 实验设备

    • 两个USB TO TTL
    • 两台PC机
    • 杜邦线若干
    • 串口助手软件

    2. 实际电路连接

    连接方法与之前的理论一致,解法见下表,电源可以不接,可以通过电脑供电。

    USB TO TTL 1USB TO TTL 2
    TXRX
    RXTX
    GNDGND
    3V33V3

    在这里插入图片描述
    实际接线如下图
    在这里插入图片描述

    3. 通过串口传输数据

    按照上示连接好了之后,连接两台电脑,打开各自电脑的串口助手,并打开串口
    在这里插入图片描述
    在这里插入图片描述
    1. 选择一个文件进行传输
    这里我选择传输一张2.11Mb的jpg文件
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/4c3f75b2c2bf4fd2b8ce47f7c59e7482.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAdHlfc2o=,size_20,color_FFFFFF,t_70,g_se,x_1
    2. 计算理论传输时间
    在串口助手打开了文件之后,显示文件大小为2220595字节

    在这里插入图片描述
    根据之前给出的计算公式,理论传输时间为216秒
    在这里插入图片描述
    3. 实际传输对比

    开始传输后,发送端与接收端分别显示如下
    在这里插入图片描述
    在这里插入图片描述
    传输完成后

    在这里插入图片描述
    传输时,使用手机同步计时,实际的传输时间为4*60+31=271秒,比理论计算的216秒与系统给出的理论实践200秒都要长,说明实际上通过串口传输的速率没办法达到理论峰值。
    在这里插入图片描述

    三、总结

    本次实验通过两个usb to ttl在两台pc机之间进行了大文件的传输,并对文件大小进行预算,根据大小估算了理论计算时间,再将理论与实际时间进行对比,实验结果表明,串口的实际传输速率是要低于理论速率的。本次实验的过程总体来说还是比较顺利,接线也比较简单,但是其实背后的一些底层原理还没有那么清晰,所以以后还需要继续接着学习、动手实践。

    参考文献

    串口是怎样传输数据的
    什么是波特率,波特率怎么计算
    【转】波特率计算串口速度

    展开全文
  • 利用 API函数显示,计算机与外围设备的串口通信!!!
  • 串口传输数据

    2018-07-11 10:25:02
    使用WPF开发的利用串口接收数据程序,接收到的串口信息可以使用TTS语音播报出来,解决了串口接收数据不完整的问题。
  • LINUX串口文件传输

    2018-07-25 08:55:12
    串口文件传输,数据帧格式:0xAA+0xAA+序号+数据长度+50字节数据+校验和。支持错误重传。 用法: 发: ./test /devttyUSB0 0 a.txt 收: ./test /devttyUSB1 1 b.txt a.txt为要发送的文件,b.txt为保存的文件 test...
  • 基于S3C2440的串口传输及其界面设计
  • 如何使用串口传输float类型数据

    千次阅读 2021-09-01 21:35:38
    如何使用串口传输float类型数据 比较难的就是数据进制的转化 模拟量比如说 角度 距离 速度 这些是10进制, 串口通信用的是16进制 , 数据一个字节一个字节进行传输。 在进行数据解析,数据帧提取时,要把数据从16...
  • 串口传输速率计算

    千次阅读 2020-07-19 11:10:45
    串口数据格式:起始位1bit,数据位8bit,停止位1bit,无校验,无流控; 波特率115200(bps) = 115200 (位/秒) 如果没有校验位,就应该除以 10:(1KB = 1024B) 波特率115200(bps) = 115200 (位/秒) = 11520 (字节/...
  • 【嵌入式】电脑之间串口传输文件

    千次阅读 2021-11-19 15:08:39
    本实验主要练习两台电脑之间如何通过串口传输文件一、 串口通信简介1.串口通信概念2.串口如何连接3.计算传输时间二、实验要求及过程1.实验题目2.实验过程三、 结果分析 一、 串口通信简介 1.串口通信概念 串口通信...
  • 电脑之间使用串口传输文件

    千次阅读 2021-11-18 20:11:36
    本次实验是串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一...
  • 两台电脑之间串口传输文件

    千次阅读 2021-11-13 18:23:29
    本博客是串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台...
  • openmv串口传输数字.zip

    2019-06-21 18:36:17
    在做串口传输的过程中遇到了串口传输数字的问题,因为字符串传输数字的方式操作实现麻烦传输效率低下,因此参照相关资料写了这个把多个数字直接发送,接收后直接使用。
  • 这是一个通过串口将文件(如字库)存储到flash的c语言程序
  • 文章目录一、串口传输文件1.题目要求2.实验过程二、汉字点阵原理1.汉字编码2.点库字库结构3.汉字点阵获取三、Ubuntu下显示图片和文字1.实验要求2.实验准备3.编写代码4.编译运行四、总结五、参考资料 一、串口传输...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,547
精华内容 29,018
关键字:

串口传输

友情链接: 3354730.rar