自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 CAN 通讯学习教程

经典CAN帧:│ SOF │ ID │ ... │ 数据(≤8B) │ CRC │125kbps~1Mbps(整个帧相同波特率)CAN FD帧:│ SOF │ ID │ ... │ 数据(≤64B) │ CRC │← 仲裁段:低波特率 → ← 数据段:高波特率 →CAN FD优势数据段波特率可达8Mbps(CAN FD SIC可达12Mbps)数据长度从8字节扩展到64字节向下兼容经典CAN(仲裁段使用相同波特率)DBC(Database CAN)是一个文本文件,用于。

2026-07-01 10:45:18 230

原创 嵌入式通信协议完全教程

│ 帧头 │ 长度 │ 地址 │ 命令码 │ 数据 │ CRC │ 帧尾 ││ 0xAA55 │ 小端序 │ 0x01-FF│ 见定义 │ 变长 │ CRC16 │ 0x0D0A │设计原则:帧头(Magic Number):用于帧同步,选择不易在数据中出现的值长度字段:小端序存储(低字节在前),包含从地址字段到数据字段的总字节数地址字段:多设备通信时标识设备命令码:操作类型(读/写/应答/通知/错误)变长数据:TLV(Type-Length-Value)格式灵活扩展CRC校验。

2026-06-29 14:55:42 323

原创 24. 模板方法模式(Template Method Pattern)

行为型模式: ★★★★☆: ★★☆☆☆。

2026-06-09 07:00:00 179

原创 单片机IO不够?ULN2003A救急方案

芯片概述:7路达林顿晶体管阵列核心参数:500mA/路、50V耐压、内置续流二极管引脚定义与封装(DIP-16 / SOP-16)与ULN2004A、ULN2803A的区别ULN2003A适合中低速、大电流、多路驱动的场景若需更多IO,可组合ULN2003A + 74HC595/74HC164进阶方案:I2C/SPI扩展IO(如MCP23017、PCF8574)推荐阅读:单片机IO扩展的完整方案对比。

2026-06-09 07:00:00 379

原创 STM32上跑通TinyML:从模型训练到嵌入式部署实战

本文回顾:从数据到部署的完整链路进阶方向:多传感器融合边缘端在线学习低功耗场景优化(STM32L4+ 系列)使用 Edge Impulse / NanoEdge AI 等平台推荐学习资源(官方文档、社区、开源项目)

2026-06-09 07:00:00 420

原创 23. 策略模式(Strategy Pattern)

行为型模式: ★★★★★: ★★☆☆☆。

2026-06-08 09:09:39 446

原创 22. 空对象模式(Null Object Pattern)

行为型模式: ★★☆☆☆: ★☆☆☆☆。

2026-06-08 09:09:00 201

原创 20. 观察者模式(Observer Pattern)

行为型模式: ★★★★★: ★★★☆☆。

2026-06-05 07:00:00 581

原创 21. 状态模式(State Pattern)

行为型模式: ★★★★☆: ★★★☆☆。

2026-06-05 07:00:00 289

原创 18. 中介者模式(Mediator Pattern)

行为型模式: ★★★☆☆: ★★★☆☆。

2026-06-04 07:00:00 191

原创 19. 备忘录模式(Memento Pattern)

行为型模式: ★★★☆☆: ★★★☆☆。

2026-06-04 07:00:00 354

原创 16. 解释器模式(Interpreter Pattern)

行为型模式: ★★☆☆☆: ★★★★☆。

2026-06-03 07:00:00 202

原创 17. 迭代器模式(Iterator Pattern)

行为型模式: ★★★★★: ★★☆☆☆。

2026-06-03 07:00:00 274

原创 11. 外观模式(Facade Pattern)

结构型模式: ★★★★☆: ★☆☆☆☆。

2026-06-02 07:00:00 456

原创 12. 享元模式(Flyweight Pattern)

结构型模式: ★★★☆☆: ★★★☆☆。

2026-06-02 07:00:00 348

原创 13. 代理模式(Proxy Pattern)

结构型模式: ★★★★★: ★★☆☆☆。

2026-06-02 07:00:00 149

原创 14. 责任链模式(Chain of Responsibility Pattern)

行为型模式: ★★★★☆: ★★★☆☆。

2026-06-02 07:00:00 139

原创 15. 命令模式(Command Pattern)

行为型模式: ★★★★☆: ★★★☆☆。

2026-06-02 07:00:00 307

原创 06. 适配器模式(Adapter Pattern)

结构型模式: ★★★★☆: ★★☆☆☆。

2026-06-01 07:00:00 346

原创 07. 桥接模式(Bridge Pattern)

结构型模式: ★★★☆☆: ★★★★☆。

2026-06-01 07:00:00 360

原创 08. 过滤器模式(Filter Pattern)

结构型模式: ★★★☆☆: ★★☆☆☆。

2026-06-01 07:00:00 192

原创 09. 组合模式(Composite Pattern)

结构型模式: ★★★★☆: ★★★☆☆。

2026-06-01 07:00:00 155

原创 10. 装饰器模式(Decorator Pattern)

结构型模式: ★★★★★: ★★★☆☆。

2026-06-01 07:00:00 503

原创 05. 原型模式(Prototype Pattern)

创建型模式: ★★★☆☆: ★★☆☆☆。

2026-05-30 11:36:14 270

原创 04. 建造者模式(Builder Pattern)

创建型模式: ★★★★☆: ★★★☆☆。

2026-05-30 11:35:32 500

原创 03. 单例模式(Singleton Pattern)

创建型模式: ★★★★★: ★★☆☆☆。

2026-05-30 11:24:55 351

原创 02. 抽象工厂模式(Abstract Factory Pattern)

创建型模式: ★★★★☆: ★★★☆☆。

2026-05-30 08:00:00 384

原创 01. 工厂模式(Factory Pattern)

创建型模式: ★★★★★: ★★☆☆☆。

2026-05-29 10:05:52 216

原创 Docker基本命令

运行一个docker redis 容器 进行 端口映射 两个数据卷挂载 设置开机自启动。方法二:不想删容器,又想让这个容器设置开机自启动,那么我们修改其启动配置即可!我们还可以再创建一个容器redis03 使其成为容器二的子级容器。由于数据卷的缘故 他们数据是相互同步的,且同步到宿主机。docker attach 容器名/容器ID。docker kill 容器名/容器ID。可以使用多个 -v 类指定需要挂载的目录。查看Docker的磁盘使用具体情况。删除 无用的容器和 镜像。清除所有无容器使用的镜像。

2025-09-03 09:49:32 601

原创 linux命令

注意:rmdir命令只能删除空目录。当要删除非空目录时,就要使用带有“-R”选项的rm命令。rmdir命令的“-p”参数可以递归删除指定的多级目录,但是要求每个目录也必须是空目录。rmdir命令作用是删除空的目录,英文全称:“remove directory”。把webapps.dist目录下的所有文件和文件夹复制到webapps目录下。把webapps.dist目录下的所有文件和文件夹复制到当前目录下。把当前目录下的所有文件和文件夹复制到webapps。

2025-09-03 09:45:07 209

原创 常用git命令

git revert是用于“反做”某一个版本,以达到撤销该版本的修改的目的。比如,我们commit了三个版本(版本一、版本二、 版本三),突然发现版本二不行(如:有bug),想要撤销版本二,但又不想影响撤销版本三的提交,就可以用 git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西。如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。

2025-09-03 09:43:35 326

原创 vsCode

快速复制一行 :shift+alt+ 下箭头(上箭头) 或者 ctrl+c 然后 ctrl+v。添加多个光标 : ctrl + Alt + 上箭头(下箭头)选择某个区块:按住shift + alt 然后拖动鼠标。如果想选中所有此单词:ctrl+shift+L。转到文件头部/尾部:ctrl+home/end。隐藏/显示终端:ctrl+~

2025-09-03 09:38:11 568

原创 C#如何实现一个输入框输入,匹配提示数据

首先需要创建一个包含所有候选项的字符串集合(List)或者从文件、数据库等地方获取到这些候选项。然后将该集合传递给TextBox控件的AutoCompleteCustomSource属性。在C#中可以使用AutoCompleteStringCollection类来实现输入框的自动完成功能。对于TextEdit控件想要实现相同的功能。比textbox控件多一步设置。

2024-02-04 16:25:09 1155 1

原创 WebApi单html页面使用axios进行文件上传

注意:input标签中的multiple属性设置后可以选择多个文件。

2023-05-30 14:43:37 442

原创 tomcat配置-超有效-80岁奶奶用了都说好

tomcat下载地址tomcat官网选择版本然后解压配置环境变量

2022-05-23 12:52:19 463 1

原创 C语言总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言第1章 程序设计和C语言第2章 数据类型、运算符和表达式第3章 顺序结构程序设计第4章 分支结构程序设计第5章 循环结构程序设计第6章 数组第7章 函数第8章 指针第9章 结构体与链表第10章 文件第11章 编译预处理第12章 位运算总结前言这些内容是我个人在学习C语言时遇到或使用到的个人觉得比较重要的内容,有些对于做题是比较重要的基础知识。第1章 程序设计和C语言1、C程序是由函数组成的。(重要)2、所有的C程.

2022-04-06 15:03:05 2474 1

原创 C语言数据结构-三-1 栈的实现与进制转换

注意:现在偷的懒以后都要补回来的!希望大家认真学好数据结构,不希望后悔!数制转换(十进制转二进制)【问题描述】利用栈实现十进制向二进制的转换。【输入形式】输入若干个十进制正整数,输出它们的二进制形式。(提示:输入采用scanf("%d",&x)==1)【输出形式】输出每个十进制正整数的二进制形式。【样例输入】572025512812710005000065535【样例输出】101111101001111111110000000111111111

2022-03-30 20:45:32 561

原创 C语言数据结构-线性表测试

注意:现在偷的懒以后都要补回来的!希望大家认真学好数据结构,不希望后悔!【函数】在顺序表中,输入一个元素插入到原表的最大元素之前【问题描述】设有顺序表,输入一个元素插入到顺序表最大元素之前。【输入形式】第一行输入一个N(N>=0且N<=100);第二行输入N个整数(以空格分隔);第三行输入一个整数(将该整数插入到顺序表最大元素之前)【输出形式】输出插入后的顺序表元素【样例输入】512 98 34 -87 -2320【样例输出】12 20 98 34 -87 -

2022-03-30 20:42:55 237

原创 C语言数据结构-3-(双向链表及一元多项式求和)

注意:现在偷的懒以后都要补回来的!希望大家认真学好数据结构,不希望后悔!双向链表中插入结点并输出【问题描述】对带头结点的双向链表,实现插入算法。【输入形式】第一行输入一个N(N大于等于1,小于1000);第二行输入N个整数,以空格作为分隔,创建长度为N的双向链表,为双向输出方便,需保留头尾指针;第三行输入pos和e,以空格分隔,分别表示插入位置和插入元素的值。【输出形式】第一行从头开始顺向输出双向链表中元素,用空格分隔;第二行从尾结点开始逆向输出双向链表中元素,用空格分隔。【样例

2022-03-30 20:39:14 233

原创 C语言数据结构-2-链表

注意:现在偷的懒以后都要补回来的!希望大家认真学好数据结构,不希望后悔!删除带头结点的单链表中值重复的元素【问题描述】建立带头结点的单链表,编写程序实现删除表中值重复的元素,即重复元素只保留一个。【输入形式】第一行输入一个N,表示建表的长度;第二行输入N个整数,表示数据元素。【输出形式】输出去重后的单链表元素。【样例输入】52 2 2 3 3【样例输出】2 3【评分标准】功能实现要求写成算法函数形式。约瑟夫环问题(循环单链表)【问题描述】约瑟夫环问题:N个人围成

2022-03-30 20:36:40 533

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除