Aktivieren Sie das YModem-Protokoll für die Dateiübertragung über UART auf ESP32

Am Ende des Artikels finden Sie einen Link zum vollständigen Code-Download

einführen

YMODEM ist ein Dateiübertragungsprotokoll, das zwischen Mikrocomputern verwendet wird, die über Modems miteinander verbunden sind. Es wird hauptsächlich zum Übertragen von Dateien zwischen Bulletin-Board-Systemen verwendet. YMODEM wurde von Chuck Forsberg als Erweiterung zu XMODEM entwickelt und erstmals in seinem CP/M-YAM-Programm implementiert. Es hieß ursprünglich auch YAM und wurde 1985 von Ward Christensen, dem Autor des ursprünglichen XMODEM, offiziell „YMODEM“ genannt.

YMODEM erweitert XMODEM auf drei Arten und kombiniert die Funktionalität anderer erweiterter XMODEM-Varianten. Wie XMODEM-CRC ersetzt YMODEM die 8-Bit-Prüfsumme durch eine zyklische Redundanzprüfung (CRC) mit 16 Bit, macht sie jedoch zur Standardform der Korrektur und nicht zur optionalen. TeLink hat einen „Block 0“-Header hinzugefügt, der den Dateinamen und die Größe sendet. Dies ermöglicht Massenübertragungen (mehrere Dateien in einer einzigen Sitzung), ohne dass am Ende der Datei ein Auffüllen hinzugefügt wird. Schließlich ermöglicht YMODEM die Erhöhung der Blockgröße von ursprünglich 128 Datenbytes auf 1024 Bytes, wie bei XMODEM-1k, was den Durchsatz schnellerer Modems erheblich verbessert.

Forsberg hat den Standard unter Verwendung all dieser Funktionen als Laufzeitoptionen entwickelt, sodass einzelne Protokolltreiber bei der Verbindung mit Nicht-YAM-Systemen auf XMODEM-CRC oder sogar XMODEM zurückgreifen können. Er glaubte, dass Programmierer so viele dieser Funktionen wie möglich auf einer bestimmten Plattform implementieren wollten. Zu seiner Bestürzung stellte er fest, dass die meisten Implementierungen tatsächlich nur CRC-16-Blockgrößen über 1 KB boten und „Block 0“ nicht implementierten, während weiterhin der YMODEM-Name verwendet wurde. Das Ergebnis war die Veröffentlichung einer Reihe gegenseitig inkompatibler YMODEM-Implementierungen, und der YMODEM-Batch-Name wurde verwendet, um diejenigen Versionen klar zu kennzeichnen, die den vollständigen Standard unterstützten.

Besonderheit

  • Aktivieren Sie die Dateiübertragung des YModem -Protokolls über UART

おすすめ

転載: blog.csdn.net/tianqiquan/article/details/132372255
おすすめ