自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [锂电池]锂电池入门指南

本文系统介绍了锂电池的基本原理、分类及关键性能参数。锂电池通过锂离子在正负极间的移动实现充放电,根据正极材料不同可分为钴酸锂、锰酸锂、三元锂、磷酸铁锂和钛酸锂等多种类型。文章详细对比了各类电池的电压特性、循环寿命、热稳定性和能量密度等参数,并解释了电池容量、内阻、充放电倍率等概念。同时介绍了电池的封装形式、工作温度范围、寿命评估方法以及串并联应用时的注意事项。最后指出要实现锂电池的安全稳定运行,必须配备电池管理系统(BMS)进行参数监控。

2025-07-15 23:56:24 1015

原创 [C语言]static关键字详解

C/C++中的static关键字具有多重功能,主要用于控制变量和函数的生命周期与作用域。对于局部变量,static使其生命周期延长至整个程序运行期,仅初始化一次并保留值;对于全局变量和函数,static限制其仅在当前文件可见,避免命名冲突。静态变量存储在全局/静态区,未初始化时自动赋零值。典型应用包括计数器保持和文件私有数据封装,通过改变存储位置和可见性实现不同需求。

2025-07-15 01:46:58 231

原创 [ESP32]VSCODE+ESP-IDF环境搭建(实测有效)

本文详细介绍了ESP32开发环境搭建及点灯程序烧录的全流程。主要内容包括:1)下载VSCode和ESP-IDF工具链;2)安装软件并配置Python环境,包括设置清华镜像源、安装/升级pip;3)VSCode插件安装及ESP-IDF扩展配置;4)选择例程、配置芯片型号和下载模式;5)编译烧录过程及注意事项。整个流程涉及多个工具配置和环境设置,特别强调了Python环境管理和路径配置的关键点,最终实现LED闪烁的测试程序。该指南完整记录了从零开始搭建ESP32开发环境的详细步骤。

2025-07-08 20:21:03 916

原创 [C语言]存储结构详解

C语言数据存储结构总结:程序内存分为代码区(.text)、常量区(.rodata)、全局/静态区(.data/.bss)、堆区(heap)和栈区(stack)五个分区。全局变量和静态变量存储在全局/静态区,局部变量在栈区,动态分配的内存在堆区,字符串常量在.rodata段。const全局变量位于常量区,而const局部变量仍在栈区。静态局部变量虽作用域受限但存储在全局区。内存布局从低地址到高地址依次为代码段、常量段、数据段和堆栈段。通过地址打印可验证不同类型变量的存储位置差异。

2025-06-30 01:40:16 319

原创 [C语言]typedef关键字详解

typedef 是 C/C++ 中用于为现有数据类型创建别名(如 typedef int Int32)的关键字,可增强代码可读性和维护性。主要用途包括:简化结构体声明(typedef struct{...} Point)、定义指针类型(typedef char* String)、处理函数指针(typedef int (*FuncPtr)())等。与 #define 相比,typedef 具有类型安全性和作用域限制的优势。C++11 后推荐使用 using 替代(如 using IntPtr = in

2025-06-29 13:44:12 257

原创 [C语言]sizeof关键字详解

sizeof是C/C++中的运算符,用于获取对象或类型的内存大小(字节数)。它在编译时求值,返回size_t类型结果。基本用法包括查询数据类型大小(如sizeof(int))、变量大小(sizeof arr)和表达式结果类型大小。特殊特性:不计算表达式实际值(如sizeof(i++)不会增加i),能区分数组和指针的大小。常用场景包括动态内存分配、计算数组元素个数和分析结构体内存对齐。注意用%zu打印结果,与strlen不同,sizeof包含字符串的'\0'。

2025-06-29 13:17:12 343

原创 [C语言]数据类型关键字详解

本文详细介绍了C语言的基本数据类型及其特性。主要内容包括:整型(int)、字符型(char)、浮点型(float/double)、无类型(void)等核心数据类型,以及短整型(short)、长整型(long)和有符号/无符号(signed/unsigned)修饰符。文章通过表格对比了各类型的存储大小、取值范围,并提供了典型示例代码。还说明了类型修饰符组合使用方式,以及跨平台差异、隐式转换、溢出处理等注意事项。该文档可作为C语言数据类型使用的快速参考指南。

2025-06-29 13:00:11 829

原创 [C语言]const关键字详解

本文详细介绍了C语言中const关键字的用法。const用于创建只读变量,防止意外修改并提高代码可读性。主要应用包括:替代宏定义常量、保护函数参数、与指针组合提供不同保护级别、保护返回值以及硬件寄存器访问。使用时需注意const变量必须初始化,在C中不能作为数组大小,理解const指针的复杂组合,避免危险的类型转换绕过const限制。const还可与volatile结合使用,保护硬件寄存器等特殊场景。合理使用const能增强代码安全性和可维护性。

2025-06-29 03:16:19 337

原创 [C语言]volatile关键字详解

volatile是C语言中防止编译器优化的类型修饰符,确保变量每次从内存读取而非缓存。主要应用于硬件寄存器访问、中断服务程序中的共享变量、多线程环境及延时循环计数器。它能防止优化和重排序,但不保证线程安全,过度使用会影响性能。典型用法包括映射硬件地址、ISR标志位等场景,常与const结合使用。使用时需注意其并非原子操作,多线程仍需同步机制。

2025-06-29 02:47:35 319

原创 [ESP32]ESP32S3学习(一)ESP32系列型号概览和命名规则

乐鑫科技推出的ESP32系列SoC芯片(包括ESP8266、ESP32、S2/S3/C3/H2等子系列)在CPU架构、内存配置、无线连接功能等方面存在显著差异。其中,ESP32-S3系列采用双核RISC-V架构,支持Wi-Fi/蓝牙双模,最高频率240MHz,配备512KB SRAM和16MB闪存,适用于智能家居等低功耗场景。型号命名规则通过字母组合标识芯片特性,如F表示内置闪存,R表示内置PSRAM。此外,乐鑫还推出基于这些芯片的模组产品(如WROOM系列),通过不同天线设计满足多样化需求。

2025-06-18 00:58:09 1004

原创 [FreeRTOS]2.FreeRTOS-STM32F1标准库移植(详细版)

STM32F1标准库FreeRTOS移植

2025-06-08 15:05:13 399

原创 [FreeRTOS]1.FreeRTOS基础知识

FreeRTOS基础知识

2025-06-08 14:14:30 603

原创 [Python入门学习记录(小甲鱼)]第6章 函数

小甲鱼 第六章

2025-04-18 15:26:23 174

原创 [锂电池]各种锂电池参数对比

各类电芯参数

2025-03-14 23:58:33 305

原创 [新能源]新能源汽车快充与慢充说明

新能源汽车快充慢充

2025-03-14 12:49:46 3756

原创 [通讯协议]232通信

232通信

2025-03-09 23:51:51 551

原创 [通讯协议]485通信

485通信

2025-03-09 23:49:08 2424

原创 [Python入门学习记录(小甲鱼)]第5章 列表 元组 字符串

第五章

2025-03-06 23:59:40 913

原创 [Python入门学习记录(小甲鱼)]第4章 分支与循环

第4章 分支和循环

2025-03-06 23:49:51 337

原创 [Python入门学习记录(小甲鱼)]第3章 Python基础知识

Python基础知识

2025-03-05 16:57:26 440

原创 [Python入门学习记录(小甲鱼)]第0~2章:环境搭建、各种print、缩进和BIF内置函数

python入门 0~2章

2025-03-05 16:50:24 778

原创 [嵌入式] 嵌入式软件开发书籍推荐及电子版分享

嵌入式书籍推荐

2025-02-23 17:32:59 412

原创 [git]GIT提交带GPG签名改动到GITEE的配置方法

GPG(GNU Privacy Guard)是一种开源的加密软件,用于数据加密和数字签名。它基于 PGP(Pretty Good Privacy)协议实现,广泛应用于保护电子邮件、文件等数据的隐私和完整性。在 GPG 中,公钥是密钥对(公钥和私钥)的一部分。密钥对是通过加密算法生成的,公钥可以公开分发,而私钥则需要严格保密。公钥和私钥之间的关系是:用公钥加密的数据只能用对应的私钥解密,而用私钥签名的数据可以用公钥验证。通过以上步骤,你可以确保你的提交也经过 GPG 签名,增强代码的可信度!

2025-02-23 01:16:37 412

原创 [单片机]嵌入式c语言中do-while妙用

嵌入式c语言 do-wile妙用

2025-02-22 13:10:30 377

原创 [单片机]Keil中char类型的符号问题

Keil中char类型的符号问题

2024-12-23 15:23:11 380

原创 [ESP32]PlatformIO自定义ESP32开发板

platformio自定义esp32开发板

2024-12-22 02:52:51 1659

原创 [ESP32] csv文件分区含义

csv文件分区含义

2024-12-22 02:48:11 150

原创 [单片机] keil 退出debug 提示 “encountered an improper argument”

keil退出debug

2024-12-01 00:31:49 306

原创 [单片机]Keil编译内存信息

keil编译内存信息

2024-11-28 18:55:58 400

原创 [单片机]单片机组成部分

单片机组成部分

2024-11-28 18:39:45 511

原创 [单片机]STM32F1基本定时器TIM6实现时间片轮询模板

时间片轮询框架代码

2024-11-20 23:22:39 430

原创 [单片机]头文件、源文件和函数注释模板

注释模板

2024-11-20 23:14:47 419

原创 [通讯协议]UART协议

UART协议

2024-11-17 19:35:50 907

原创 [单片机]Hex和Bin文件详解

Hex和Bin文件详解

2024-11-17 03:52:45 1037

原创 [单片机]常用颜色对照表(RGB&HEX)

[单片机]常用颜色对照表(RGB&HEX)

2024-11-16 19:44:11 1169

原创 [单片机] ASCII码对照图(十进制&十六进制)

ASCII码对照图(十进制&十六进制)

2024-11-16 19:37:29 557

原创 [单片机]单片机裸机程序开发方式

裸机开发一般使用时间片轮询的前后台系统即可。

2024-11-14 00:48:44 680

原创 [ESP32]Arduino开发环境修改Flash分区

用arduino开发esp32的时候,因为使用的都是各种的库,所以很可能为了实现功能而加了一堆库导致代码很大,超过了用来存储代码的空间,所以需要重新设置一下各个分区的大小。

2024-07-11 19:02:37 1455 1

原创 [BMS]国标快充协议GBT27930

充电每 250ms 发送 充电机最大输出能力 1808F456 (CML)报文 500ms 发送 时间同步报文 101AF456(CTS) 250ms 发送 充电机准备就绪报文(CRO 00) 0x100AF456。BMS 收到 CML报文后 发送 BMS充电准备就绪 100956F4 (BRO AA)报文 充电机收到后 回复 充电机准备就绪报文 0x100AF456(CRO AA)充电机收到后回复 1CECF456 然后 250ms 发送充电辨识报文 0x1801F456 (CRM AA)

2024-05-30 17:35:23 2651

原创 [通讯协议]IIC协议

IIC协议

2024-04-01 22:54:20 783

INA226模块单片机驱动代码

该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间 该资源是INA226模块单片机驱动代码,可以在需要时节省开发时间

2024-03-13

嵌入式c语言代码编写规范

该资源是一份嵌入式C代码编写规范,旨在帮助开发人员编写高质量的嵌入式C代码。它包含了一系列的规则和建议,涵盖了代码布局、命名规范、注释规范、函数设计、变量声明等方面。 该规范强调代码的可读性和可维护性,通过统一的命名规范和代码布局,使得团队成员能够更容易地理解和修改代码。同时,它还提供了一些最佳实践,如避免使用全局变量、减少代码复杂度等,以提高代码的可靠性和性能。 此外,该规范还关注代码的可移植性,提供了一些针对不同平台和编译器的建议,以确保代码在不同环境下的正确性和一致性。 总之,该资源是一份全面而实用的嵌入式C代码编写规范,适用于各种嵌入式系统开发项目。它可以帮助开发人员编写出高质量、可读性强、易于维护和可移植的嵌入式C代码。

2024-03-06

ESP32-S3-WROOM数据手册

ESP32-S3-WROOM数据手册

2024-03-06

空空如也

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

TA关注的人

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