Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows命令提示符下通过串行端口发送文件_Windows_Cmd_Serial Port_File Transfer - Fatal编程技术网

如何在Windows命令提示符下通过串行端口发送文件

如何在Windows命令提示符下通过串行端口发送文件,windows,cmd,serial-port,file-transfer,Windows,Cmd,Serial Port,File Transfer,我试图通过COM端口发送文件,但每次都失败 首先,我在每台机器上配置一个串行端口,如下所示: MODE COMx:115200,N,8 其中x是COM端口号 在此之后,我将尝试: COPY file.zip COM1: /B 和接收PC上的相反 在大多数情况下,我的档案都被破坏了。但最后一次尝试没有给我任何东西-第一台电脑说文件已发送,但第二台电脑只是在等待数据。有人知道如何解决这个问题吗?我可以将二进制文件发送到Arduino: mode COM21 BAUD=115200 PARITY=

我试图通过COM端口发送文件,但每次都失败

首先,我在每台机器上配置一个串行端口,如下所示:

MODE COMx:115200,N,8
其中x是COM端口号

在此之后,我将尝试:

COPY file.zip COM1: /B
和接收PC上的相反


在大多数情况下,我的档案都被破坏了。但最后一次尝试没有给我任何东西-第一台电脑说文件已发送,但第二台电脑只是在等待数据。有人知道如何解决这个问题吗?

我可以将二进制文件发送到Arduino:

mode COM21 BAUD=115200 PARITY=n DATA=8
copy yourfile.txt \\.\COM21

请注意,
\.\
对于端口号>=10是必需的,也可以用于端口号1-9。

您需要在.zip文件(或其他任何文件)之后以及命令行末尾为二进制文件指定/B。e、 g.
复制二进制文件/B COM1/B
否则它将在第一个非文本ASCII字符处停止


尝试在接收端使用超级终端,然后传输>捕获文本

使用此串行电缆是否有效?您确定您有正确配置的串行电缆吗?电缆工作正常,请使用c#SerialPort类发送检查。是的-我以前做过-文件传输得很好,但这只适用于文本文件。也许二进制复制标志会对其他文件有所帮助。您是否通过C###练习发送非文本?当然,如果二进制数据包含Control-Z(0x1A),则可能会终止传输。您没有提到在接收PC上运行的命令。COPY COM1:file.zip/B不起作用。接收器应在中断控制器和USART上启用IRQ,通过中断处理程序接收数据,并将其存储在磁盘上。操作系统外壳不提供所有这些杂务。您如何将该文件复制到COM21的/home/目录中?我不确定是否理解您的问题,因为用于COM端口的串行协议(rs-232)仅定义如何向串行设备发送和接收字节,而没有定义任何关于文件系统的内容(特别是它没有定义主目录)。大多数串行设备,例如串行鼠标或串行调制解调器没有任何文件系统。您可以在此处找到有关rs-232的更多信息:谢谢@Ben,让我澄清我的问题:是否可以将文件传输到linux文件系统(如ext2)通过COM端口?如果是,windows shell中的命令会是什么样子?简短的回答是否,RS-232协议的级别非常低:发送字节、接收字节,没有任何解释。Linux甚至不知道文件的开始和结束时间,或者文件名。但您要查找的可能是Kermit()或者Zmodem。有一些软件可以在Windows和Linux上实现它,使用它可以通过串行线传输文件。这里有一个方法:这取决于您的目的地,串行协议只将文件的字节发送到COM端口。例如,您可以将文件发送到串行鼠标,但这不会起任何作用g,并且不会将其保存为文件(但是您会看到传输成功,因为协议中根本没有检查)。但是如果您将其发送到另一台Windows计算机,其中特定的软件正在“侦听”到该特定串行端口,然后您可以恢复文件并将其保存到您想要的位置。Kermit就是此类软件的一个示例: