1

我必须通过串行端口将文件发送到我的程序,该程序使用超级终端和 XMODEM 协议在嵌入式设备上运行。串行通信正常(9600 波特,1 个停止位,无奇偶校验,8 个数据位,无流量控制),因为发送命令和接收应答都正常工作。

当我发送“上传”命令时,设备会在准备就绪时应答并等待文件。在 HyperTerminal 中,然后转到 Transfer->Send File...,选择一个文件和 XMODEM 协议,然后单击“Send”。单击发送后,上传未开始并出现超时消息。

在调试时,我看到程序没有从串口接收任何字节,但是如果我发送一个字节,点击一个键,程序就会接收到它。我可以假设问题是超级终端没有发送任何东西吗?这是为什么?

4

1 回答 1

0

XMODEM 传输由接收​​方而不是发送方发起。当接收设备发送 SOH (XMODEM) 或“C” (XMODEM-CRC/1K) 时,传输开始。如果接收端不发起传输,则不会发生传输。

您可能会发现您必须从发送端开始传输,然后在接收端启动传输。或者,在等待传输时,接收端可能会重复发送起始字符,直到它得到响应(或超时)。

于 2014-11-14T15:08:55.720 回答