自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FLASH与RAM深度解析及核心区别

摘要:FLASH与RAM是存储器的两大类型,核心区别在于FLASH断电不丢失(非易失性),但写入需擦除块且寿命有限;RAM断电丢失(易失性),但读写极快且无寿命限制。FLASH适合存储固件等长期数据(如NOR Flash执行代码,NAND Flash用于SSD),RAM用于实时计算(SRAM作CPU缓存,DRAM为主存)

2025-06-10 19:15:42 858

原创 FTP主动模式与被动模式解析

客户端防火墙可能阻止来自服务器20端口的入站连接(如企业内网环境)。所有连接均由客户端发起,完美兼容仅允许出站连接的防火墙策略。

2025-06-10 18:53:37 326

原创 笔记:头文件与静态库的使用及组织方式

【代码】笔记:头文件与静态库的使用及组织方式。

2025-04-10 18:15:40 451

原创 git 操作记录

git 操作的笔记

2025-03-29 11:34:33 374

原创 通信链路类型

通信链路类型

2025-03-29 11:27:17 210

原创 内存 区域

区域用途特性管理方式栈(Stack)存储局部变量、函数调用信息等自动管理、快速访问、有限大小编译器自动管理堆(Heap)动态分配内存手动管理、灵活大小、较慢访问程序员手动管理代码区存储程序的机器代码只读、共享不可修改数据区存储全局变量、静态变量和常量生命周期长、作用域广编译器管理理解这些内存区域有助于编写更高效、更安全的程序,特别是在处理内存分配和释放时。

2025-03-27 13:48:03 398

原创 一些嵌入式C语言编程中非常实用的代码片段及笔记

c复制代码// 1. 位操作宏// 2. 数值约束// 3. 调试输出(可禁用)#else#endif。

2025-03-25 19:31:33 615

原创 在 VBA 中 Like 的纯数字验证方法

在 VBA 中,表达式。

2025-03-25 19:25:18 350

原创 位域(bit-field)

位域

2025-03-18 13:30:36 426

原创 EEPROM和flash在读写时有哪些区别和各自的特点

EEPROM和flash在读写时有哪些区别和各自的特点

2025-03-18 10:41:40 411

原创 Makefile 标准规范指南

Mackfile操作

2025-03-11 19:49:52 262

原创 Git 操作速查笔记

Git操作

2025-03-11 19:39:40 384

原创 Git 核心概念与操作梳理

git操作摘要

2025-03-10 10:19:09 295

原创 ProtocalTool 软件使用 IEC104 协议规约测试

ProtocalTool软件的使用记录

2024-12-10 20:00:00 657 2

原创 Linux和GitLab建立SSH keys的配置步骤

一旦SSH key配置完成并验证通过,你就可以使用SSH协议来拉取(pull)、推送(push)Git仓库中的代码了。:首先,你需要在本地计算机上打开终端(在Linux或Mac OS中)或命令提示符/PowerShell(在Windows中)。:点击页面右上角的用户头像,选择“Settings”(设置),然后在左侧导航栏中选择“SSH Keys”。:在“SSH Keys”页面中,点击“Add SSH key”(添加SSH密钥)按钮。:打开GitLab的官方网站或使用你的GitLab实例,并登录到你的账户。

2024-09-19 16:40:48 1045

原创 CRC校验流程:

4 、如果最低位为0:重复第三步(下一次移位);如果最低位为1:将CRC寄存器与一个预设的固定值(0A001H)进行异或运算。2 、把数据帧中的第一个字节的8位与CRC寄存器中的低字节进行异或运算,结果存回CRC寄存器。1、预置一个16位寄存器为0FFFFH(全1),称之为CRC寄存器。6 、重复第2步到第5步来处理下一个八位,直到所有的字节处理结束。5、重复第三步和第四步直到8次移位。3、将CRC寄存器向右移一位,最高位填以0,最低位移出并检测。7、最终CRC寄存器的值就是CRC的值。

2024-07-15 16:44:31 452

原创 Docker新手快速入门教程

Docker是一个开源的应用容器引擎,它允许开发者将他们的应用以及依赖包打包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上。Docker使用了资源隔离的技术(如Cgroups和Namespace),使得每个容器都可以在自己的环境中运行,就像在一个独立的操作系统中一样。这使得Docker成为了虚拟化的一种轻量级替代方案。Dockerfile 是一个文本文件,它包含了一系列的命令,这些命令用于构建一个新的 Docker 镜像。

2024-06-12 14:42:39 1459 1

原创 Linux系统下使用 Docker 部署 mqtt

对整个部署过程的总结对MQTT和Docker的进一步理解。

2024-06-12 14:40:34 296

原创 Ubuntu20.04 部署docker容器新手教程

执行下面的命令会下载一个Docker测试镜像,并在容器中执行一个“hello-world”样例程序。1、在/etc/docker$ sudo vi daemon.json 添加。

2024-06-11 20:05:49 3819 2

原创 SQLite使用

SQLite的简单使用

2024-04-24 11:47:26 642 1

原创 Linux系统安装SQLite

SQLite是一种轻量级的嵌入式关系型数据库管理系统,它是一种开源的软件,并且可以在各种操作系统上运行。SQLite的设计目标是轻巧、快速、可靠,适用于大多数应用程序,包括嵌入式设备、移动设备、桌面计算机以及服务器。优点: 轻量级:SQLite3的核心代码库只有几百KB,因此可以很容易地集成到其他应用程序中。无服务器架构:SQLite3不需要一个单独的服务器进程或守护程序,它是一个自给自足的库,与应用程序一起工作。

2024-04-24 10:37:23 981 1

原创 C语言字符串化操作符 #

在这个例子中,STR(x)首先将x(即USART_RATE)扩展为其值115200,然后_STR(x)将这个值转换为字符串。所以,printf会打印出usart rate = 115200\n。在C语言中,我们可以使用预处理器的字符串化操作符#来将宏参数转换为字符串。这个操作符只能在宏定义中使用。转换为字符串,而不是将其值。但是,这样做会直接将。

2024-03-20 20:46:34 457 2

原创 C++ 引用作为返回值,怎么理解,有什么作用?

然而,需要注意的是,你不能返回一个局部变量的引用,因为局部变量在函数返回后会被销毁,这会导致返回的引用变得无效。同时,如果返回的是堆区对象的引用,需要注意在适当的时候释放内存,以防止内存泄漏。在C++中,函数可以返回一个引用,这种方式与返回一个指针类似。当函数返回一个引用时,实际上返回的是一个指向返回值的隐式指针。这意味着,当你修改这个返回的引用时,你实际上是在修改原来的变量。在这个例子中,fun函数返回了temp的引用,所以我们可以直接对fun()赋值,这会改变temp的值。

2024-03-19 14:25:32 2915 1

原创 在C++中,数组的元素不能是引用,主要有以下两个原因:

传统的复制操作是在内存中为变量分配新的空间,并将值复制到新的空间中。例如,int a = b;,这里a和b在内存中占用不同的空间,但是内容一致。然而,对于引用来说,例如int& a = b;,这个时候,a并没有在内存中被分配空间,因为a只是b的别名,所以没有复制可言。这就意味着,对于数组元素是引用来说,没法完成元素的复制操作。:在C++中,引用在声明时必须被初始化,并且一旦被初始化后就不能改变引用的目标。然而,数组在声明时并不需要初始化所有的元素,这与引用的特性是冲突的。

2024-03-19 11:21:42 825 2

原创 VMware中不小心关掉虚拟机,在页面中找不到该虚拟机解决方案

笔记本 Fn+F9;

2024-03-16 19:07:43 2628 1

空空如也

空空如也

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

TA关注的人

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