2025-08-07
1.2k 字
4 分钟
TFTP_cliet
一、TFTP 协议基础协议概述
TFTP(Trivial File Transfer Protocol)是一种简单的文件传输协议,基于 UDP 实现,无连接、轻量级,常用于网络设备启动或嵌入式环境。
端口号:69(服务器监听)。
传输模式:通常使用“octet”(二进制)和“netascii”(文本)两种模式。
报文格式
操作码
含义
报文格式描述
1
RRQ
2 字节 Opcode + 文件名 + 0 + 模式 + 0
2
WRQ
同上
3
DATA
Opcode(2B) + Block#(2B) + Data(0-512B)
4
ACK
Opcode(2B) + B
2025-08-01
3.3k 字
12 分钟
传输层相关协议
UDP1、介绍UDP是一个简单的面向数据报的协议:进程的每个输出操作都刚好产生一个UDP数据报,并被组装成一份待发送的IP数据报。 在此同时也解析一下TCP的面向数据流: 应用程序产生的全体数据和真实发生的单个IP数据报之间可能没有什么联系,即一个应用程序数据包有可能被分成多个IP数据报或者和另外一个应用程序数据报的一部分组装成一个IP数据报一起发送(大了会被拆,小了就充组装)因为这个原因,TCP就会出现粘包的现象。由于这个UDP的数据报可能非常长,以至于超过了网络的MTU,因此就会涉及到IP分片(可以说IP分片主要就是为UDP服务的)。UDP 是不可靠的协议,只负责将数据报发送出去,并不保证
2025-07-26
2.1k 字
7 分钟
IP层相关协议
IP1、IP是TCP/IP协议族中最核心的协议。基本上很多协议(TCP/UDP/ICMP/IGMP)的数据都依靠IP数据报格式传输。IP包在网络中传输过程中源IP和目的IP始终不变(如果使用源路由选项则要变),但是MAC层的地址会变。IP是不可靠、无连接的数据传输服务。
不可靠,即不能保证IP数据报能成功到达目的地,IP只提供最好的传输服务(尽力而为),当IP数据包传输错误时,会有一个简单的错误处理算法–ICMP发送回来。
无连接,IP每个数据报的处理都是独立的,IP数据报的发送数据也可以是无序的。
2、IP数据报格式如下从中选取个别字段记录:
2025-04-10
1.9k 字
8 分钟
handle
带显示界面的无线手柄项目简介项目设计LCD驱动移植参考链接,注意SPI传输速率不能超过ST7735。
freeRTOS移植参考链接。
LVGL移植参考链接。刷新函数
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include "mytask.h"extern SemaphoreHandle_t xLCD_DMA_Semaphore;extern uint8_t dma_end;static voi
2025-03-14
3.5k 字
14 分钟
linux系统编程1-文件IO
文件读写相关函数主要头文件为 fcntl.h 和 unistd.h。
函数名
函数作用说明
文件读写相关函数
open()
打开/创建文件
read()
读取文件
write()
写入文件
close()
关闭文件
lseek()
修改文件指针位置
文件权限与属性操作
chmod()
更改文件权限(如 chmod 755 file)
chown()
更改文件所有者和组
stat()
获取文件的详细信息(大小、类型、权限等)
fstat()
获取已打开文件的属性(比 stat 快)
access()
检测文件是否存在、是否
2025-03-12
1.4k 字
5 分钟
Vim使用学习
Vim 默认快捷键大全Vim 是一个功能强大的文本编辑器,广泛应用于编程和系统管理。以下是 Vim 默认的快捷键和命令的详细列表,帮助您高效使用 Vim。
1. 模式概述Vim 操作基于不同的模式,每个模式有不同的快捷键:
普通模式:默认模式,进行文本导航和编辑。
插入模式:编辑模式,用于输入文本。
视觉模式:用于选择文本块。
命令模式:执行命令。
切换模式
操作
快捷键
说明
从普通模式切换到插入模式
i
在光标前插入文本
从普通模式切换到插入模式
I
在当前行的开始插入文本
从普通模式切换到插入模式
a
在光标后插入文本
从普通模式切换到插入模式
A
在当前行的末
2025-03-01
1.8k 字
7 分钟
2024全国电赛E题视觉部分
写在前面此文档用于记录、以及介绍自己当时写的代码以及思路,另外让自己在重温一遍代码,感受一下自己当时有多蠢。此文档并没有改进打算,思路仅供参考。
项目简介使用STM32F103C8T6+openmv+串口屏。其中
STM32F103C8T6。负责接收openmv的下棋指令,控制机械臂下棋,以及转发(至openmv)人下棋的位置,像串口屏发送棋盘状态。
openmv。识别棋盘和棋子的状态;选择最优下棋方案,并向stm32发送下棋指令;识别人故意挪动棋子,并发送复位指令。
串口屏。显示棋盘状态;提供下棋按钮,向stm32发送下棋位置;显示机械臂单次操作所耗时间。因为我这里只有串口屏和open
2025-02-14
2.3k 字
8 分钟
FreeRtos学习
arm寄存器相关https://blog.csdn.net/Z_H_Z_0/article/details/106574292
FreeRtos相关API参考资料FreeRTOS 快速入门
创建任务
静态创建任务。在使用该函数前,FreeRTOSConfig.h 中configSUPPORT_DYNAMIC_ALLOCATION的宏定义设置为 1(默认为1)。
12345678910111213141516/* 如果puxStackBuffer和 pxTaskBuffer 均不为 NULL,则创建任务, 并返回任务的句柄。 如果puxStackBuffer 或 pxTaskBuffer
2025-02-11
1 字
1 分钟
常见通信协议
UARTIICSPICANMQTT
1 2 下一页 »