我必须通过串口将文件发送到使用HyperTerminal和XMODEM协议在嵌入式设备上运行的程序。串行通信正常(9600波特,1个StopBit,无奇偶校验,8个数据位,无流量控制),因为发送命令和接收应答都能正常工作。
当我发送命令“upload”时,设备在准备就绪时应答并等待文件。在HyperTerminal中,我转到Transfer-> Send File ...,选择一个文件和XMODEM协议,然后点击“发送”。单击“发送”后,上载不会开始并显示超时消息。
在调试时,我看到程序没有收到来自串口的任何字节,但如果我发一个字节点击一个键,程序会收到它。我可以假设问题是HyperTerminal不发送任何内容吗?那是为什么?
答案 0 :(得分:0)
XMODEM传输由接收方而不是发送方发起。当接收设备发送SOH(XMODEM)或' C' (XMODEM-CRC / 1K)。如果接收端未启动传输,则不会进行传输。
您可能会发现必须从发送端开始传输,然后在接收器处启动传输。或者,当等待传输时,接收端可以重复发送开始字符,直到它得到响应(或超时)。