我必须通过串口向我的程序发送一个文件,该程序使用HyperTerminal和XMODEM协议在嵌入式设备上运行。串行通信正常(9600波特,1 StopBit,无奇偶校验,8位数据,没有流量控制),因为发送命令和接收应答都工作正常。
当我发送命令"upload“时,设备将在准备就绪时应答,并等待文件。在HyperTerminal中,我转到Transfer->Send .,选择一个文件和XMODEM协议,然后单击"Send“。单击“发送”后,上传不会开始并显示超时消息。
调试时,我看到程序没有从串口接收任何字节,但是如果我发送一个字节单击一个键,程序就会收到它。我可以假设问题是HyperTerminal没有发送任何东西吗?为什么会这样呢?
发布于 2014-11-14 15:08:55
XMODEM传输是由接收方而不是发送方发起的。当接收设备发送SOH (XMODEM)或“C”(XMODEM-CRC/1K)时,传输开始。如果接收端不启动传输,则不会发生传输。
您可能会发现,您必须从发送端开始传输,然后在接收方启动传输。或者,当等待传输时,接收端可以重复发送teh启动字符,直到它得到响应(或超时)。
https://stackoverflow.com/questions/26930964
复制相似问题