首页 > 其他分享 >CH9120 TFTP使用详解

CH9120 TFTP使用详解

时间:2024-02-03 19:55:42浏览次数:22  
标签:00 详解 64 71 73 TFTP CH9120 74

一、TFTP简介:

TFTP是基于UDP应用层的简单的文件传输协议,端口号为69,TFTP协议主要应用于网络引导、配置文件传输等场景。

二、报文介绍:

TFTP有四种数据包格式,分别是读/写请求包、文件数据包、回应包和错误信息包。

  1. 读/写请求包

操作码,它的值为1表示读操作,2表示写操作;文件名,它是一个以0结尾的字符串;模式,它也是一个以0结尾的字符串,常用的传输模式有"octet"(二进制传输)和"netascii"(ASCII码传输)。

  1. 文件数据包

操作码,它的值为3;数据块编号,它的值从1开始递增;数据块的内容,它的长度为512字节。

  1. 回应包

操作码,它的值为4;数据块编号,它的值与对方发送的文件数据包的数据块编号相同;

  1. 错误信息包

操作码,它的值为5;差错码,它的取值范围为0~7,具体含义如下:

- 0:未定义的错误

- 1:文件不存在

- 2:访问被拒绝

- 3:磁盘已满

- 4:操作超时

- 5:文件传输中断

- 6:未知传输ID

- 7:文件已存在

差错信息表示错误信息的内容,它是一个以0结尾的字符串。

三、CH9120做TFTP客户端访问服务器

将CH9120配置为UDPSERVER模式注意不能设为CLIENT(CLIENT会导致在数据传输阶段收不到服务器的数据报文),端口为69。

获取服务器文件需要通过串口发送命令如下:

00 01 //读操作码

74 65 73 74 2e 63 //test.c

00 //

6e 65 74 61 73 63 69 69 // netascii

00//

TFTP服务器收到该命令后会采用一个随机端口给CH9120发文件数据包

00 03 //数据操作码

00 01 //数据块编号

71 71 71 71 71 71 71 71 71 //数据

71 71 71 71 71 71 71 71 71 //数据

71 73 73 73 73 73 0d 00 0d //数据

0a 64 66 72 74 64 64 64 64 //数据

64 64 64 64 64 64 64 64 64 //数据

64 64 //数据

CH9120收到数据后回复回应包

00 04//回应包

00 01//数据块编号

上传服务器文件需要通过串口发送命令如下:

00 02 //写请求包

74 65 73 74 2e 63 //test.c

00 //

6e 65 74 61 73 63 69 69 // netascii

00//

注意:下次读写报文前需要复位一次CH9120

标签:00,详解,64,71,73,TFTP,CH9120,74
From: https://www.cnblogs.com/llidd/p/18005110

相关文章

  • Mybatis之resultMap详解
    resultMap作用是处理数据表中字段与java实体类中属性的映射关系。准备工作①创建数据库&数据表CREATEDATABASE`dbtest1`;CREATETABLE`t_emp`(`emp_id`intNOTNULLAUTO_INCREMENT,`emp_name`varchar(20)DEFAULTNULL,`age`intDEFAULTNULL,`gender`......
  • 解锁教育系统源码的定制奥秘:企业培训平台开发详解
    今天,小编将为大家讲解教育系统源码的奥秘,详细解释企业培训定制开发的关键步骤和技术要点。 一、需求分析与设计阶段设计阶段则包括系统的整体架构设计、数据库设计以及用户界面设计等方面。二、技术选型与开发环境搭建通过使用版本控制系统、集成开发环境(IDE)以及一系列的测试工具,......
  • 详解torch The “freeze_support()” line can be omitted if the programis not goin
    详解torchThe“freeze_support()”linecanbeomittediftheprogramisnotgoingtobefrozentoproduce在使用torch进行多进程编程时,我们可能会遇到一行代码freeze_support()。这行代码通常在Windows操作系统下使用,用于确保在运行多进程之前对Python解释器进行初始化。然......
  • Java 数据类型详解与类型转换技巧
    Java数据类型Java中的变量必须是指定的数据类型:intmyNum=5;//整数floatmyFloatNum=5.99f;//浮点数charmyLetter='D';//字符booleanmyBool=true;//布尔值StringmyText="Hello";//字符串数据类型分为两组:......
  • 第十五节:排序算法详解3(希尔排序、计数排序、桶排序、基数排序)
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......
  • tar命令 --null -T 参数详解
    tar命令的--null和-T参数可以一起使用,以从null设备读取文件名,并将这些文件名传递给tar命令来处理。--null参数的作用是将文件名作为null字符分隔的字符串传递给tar命令。这通常用于处理包含空格或特殊字符的文件名。-T参数的作用是从指定的文件中读取文件名,并将......
  • 【自动化基础】pytest详解及进阶使用
    pytest介绍及基本使用【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?pytest原理参数化@pytest.mark.parametrize(argnames,argvalues,indirect=False,ids=None,scope=None))参数说明argnames必传,参数名,以逗号分隔的字符串,表示一个或多个......
  • HelloWorld详解
    HelloWorld新建文件夹,存放代码新建一个Java文件文件后缀名为.java(Hello.java)系统可能没有显示文件名后缀,需手动打开编写代码publicclassHello{publicstaticviodmain(String[]args){System.out.print("Hello,World!");}}编译javacja......
  • MyBatis核心配置文件详解
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-......
  • 神经网络优化篇:详解测试时的 Batch Norm(Batch Norm at test time)
    Batch归一化将的数据以mini-batch的形式逐一处理,但在测试时,可能需要对每个样本逐一处理,来看一下怎样调整的网络来做到这一点。回想一下,在训练时,这些就是用来执行Batch归一化的等式。在一个mini-batch中,将mini-batch的\(z^{(i)}\)值求和,计算均值,所以这里只把一个mini-batch中的样......