我使用的是LPC178开发板,我想读取Windows PC上的一个文件。我的开发板只有一个RS2323接口与之通信。
如何使用RS232 (串行)链接将文件从我的PC传输到我的单片机?我找到了一个reference,它解释了如何在单片机和PC之间传输数据,但它不是关于文件传输的。
发布于 2020-06-22 16:10:37
对于这个问题没有简单的解决方案,比如在RS232上调用“复制”或“打开”之类的东西。我很高兴在这里被证明是错的。
最快的解决方案可能是编写一个在Windows Host上运行的小程序,它会监听您的RS232通信,并根据您的通信协议将您的通信传入/传出文件。这可以使用您选择的语言的标准文件操作来完成,例如C、C++或Python。
发布于 2020-06-22 20:30:36
你的问题是书中最古老的问题之一。如何在没有花哨的操作系统抽象的情况下传输文件。对于RS232 (或任何其他串行方法),存在许多文件传输协议。
其中之一就是kermit。这是1981年的协议,可以传输二进制和文本文件。它是able to be embedded in a micrcontroller,并且存在使用kermit进行传输/接收的程序。
发布于 2020-06-23 01:28:24
在最简单的情况下,您可以使用文件传输协议,如XMODEM、YMODEM、ZMODEM或Kermit -这些协议是在网络和Internet普遍存在之前设计的,用于处理两台计算机之间的简单点对点传输。大多数终端仿真器工具都支持它们,例如TeraTerm Pro或PuTTY,因此无需编写特定的PC软件,只需编写微控制器端即可。
更复杂但更灵活的解决方案是实现TCP/IP堆栈和PPP驱动程序,以及FTP应用层-只有在使用第三方TCP/IP堆栈和应用层时才可能实用。然后,您可以将任何FTP客户端用于PC端,因此同样不需要PC软件。虽然如果您只需要传输文件,这可能有些夸张,但它的优点是允许您同时将单个串行端口用于其他数据流和应用程序协议,如Telnet。缺点可能是,虽然Windows确实支持PPP,但它埋藏在拨号网络中,坦率地说,开始工作是一件痛苦的事情。
https://stackoverflow.com/questions/62509183
复制相似问题