在 ESP32 上通过UART启用YModem协议进行文件传输

文末提供完整的代码下载链接

介绍

YMODEM是使用调制解调器连接在一起的微型计算机之间使用的文件传输协议。它主要用于在公告板系统之间传输文件。YMODEM 由Chuck Forsberg开发,作为XMODEM的扩展,并首先在他的CP/M YAM程序中实现。它最初也称为 YAM,1985 年由原始 XMODEM 的作者 Ward Christensen正式命名为“YMODEM” 。

YMODEM 以三种方式扩展了 XMODEM,结合了其他扩展 XMODEM 品种中的功能。与 XMODEM-CRC 一样,YMODEM用 16 位循环冗余校验(CRC) 取代了 8 位校验和,但使其成为默认的校正形式而不是可选形式。TeLink 添加了发送文件名和大小的“块 0”标头,这允许批量传输(单个会话中的多个文件),并且无需在文件末尾添加填充。最后,YMODEM 允许块大小从原来的 128 字节数据增加到 1024 字节,如XMODEM-1k中那样,这大大提高了更快调制解调器的吞吐量。

Forsberg 使用所有这些功能作为运行时选项构建了标准,允许单个协议驱动程序在连接到非 YAM 系统时回退到 XMODEM-CRC 甚至 XMODEM。他相信程序员希望在任何给定平台上实现尽可能多的这些功能。他沮丧地发现,大多数实现实际上只提供了 CRC-16 超过 1k 的块大小,未能实现“块 0”,同时继续使用 YMODEM 名称。结果是发布了许多相互不兼容的 YMODEM 实现,并使用YMODEM Batch名称来明确指示那些确实支持完整标准的版本。

特征

  • 通过 UART启用YModem协议文件传

猜你喜欢

转载自blog.csdn.net/tianqiquan/article/details/132372255