自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【STM32】CUBEMX下FreeRTOS 任务栈管理与栈溢出检测(CMSIS_V2接口)

printf("| %-16s | %-22s | %-16s |\r\n", "任务名", "剩余栈空间 (words)", "剩余栈空间 (bytes)");for (i = 0;i++)

2025-07-25 17:20:34 77

原创 【STM32】Keil + FreeRTOS + HAL DMA + UART 空闲中断 接收异常

项目说明问题本质DMA 缓冲区默认被放入不支持 DMA 的 CCMRAM根本原因Keil 默认内存映射未考虑 DMA 可访问区域关键措施1. 使用显式控制段位置2. 指定对齐方式3. Scatter 文件顺序正确适用范围STM32 所有使用 DMA 的应用(UART / SPI / ADC 等)调试建议使用检查地址是否在区间。

2025-07-25 11:39:05 634

原创 【markdown】 VSCode 使用 Markdown Preview Enhanced 插件转PDF

在预览窗口内右上角点击「菜单」图标(三个点),选择。里添加进去,或者你当前页面的 HTML 头中。打开需要导出的 Markdown 文件并预览。如果你用的是 Markdown 的横线。在 VSCode 命令面板中(快捷键。

2025-07-23 23:01:42 598

原创 【C++ 笔记】第一章——入门

public:// 函数实现。

2025-07-09 20:45:00 257

原创 【C++】第四章—— 函数重载 Function Overloading 笔记

函数重载:同一个作用域内可以定义多个函数名相同、但参数列表不同的函数。编译器会根据调用时传入的参数个数、类型、顺序进行区分,自动匹配最合适的函数。

2025-07-09 20:45:00 421

原创 【C++ 】第二章——类(Class)学习笔记

类是C++ 的核心特性,用来描述具有相同属性和行为的一组对象。类是“模板”,对象是“实例”。class 类名 {// 成员变量(属性) // 成员函数(行为) };✅ 成员变量私有化,公有函数访问✅ 构造+析构函数成对定义✅ 使用初始化列表设置成员变量✅ 建议将类定义分离为.h与.cpp✅ 使用 const、inline、static 提高安全性与效率✅ 利用继承和虚函数实现代码复用与多态。

2025-07-09 20:30:00 390

原创 【C语言】指针与回调机制学习笔记

typedef定义一个类型别名Callback。Callback表示一个函数指针,指向接受一个void *参数且无返回值的函数。是注册任务的函数,无返回值。Task *task:指向任务结构体指针。:函数指针,注册的回调函数。void *arg:传给回调函数的参数。术语说明*p解引用,访问指针指向地址的值&x取地址,获取变量 x 的地址void *通用指针,可指向任意类型,需强转函数指针存储函数地址,可间接调用函数定义函数指针类型,指向接受 void* 参数无返回值的函数函数注册。

2025-07-07 21:30:00 317

原创 【C语言】const、volatile、restrict、static四大关键字学习笔记

关键字修饰对象作用和意义是否可修饰函数本身const变量、指针指向内容数据只读,防止修改,提高安全和可读性否volatile变量、指针指向内容防止优化,保证每次访问内存,适合异步变化的数据否restrict指针指针唯一访问所指内存,允许激进优化否static变量、函数变量延长生命周期或限制可见性,函数限制文件作用域是。

2025-07-07 21:30:00 305

原创 【STM32】const 变量存储学习笔记

【代码】【STM32】const 变量存储学习笔记。

2025-07-07 21:15:00 277

原创 【C语言】函数指针学习笔记

函数指针是指向函数的指针变量,可以用它来间接调用函数。函数名本身就是函数地址,所以我们可以把它赋值给函数指针。\n");fp是函数指针变量;它可以指向返回类型为void,参数为void *的函数。类型 变量名;// 类型是函数指针,变量名是 cb。

2025-07-07 11:06:23 328

原创 【STM32】[特殊字符] WWDG(窗口看门狗)学习笔记

是 STM32 内置的一种硬件看门狗定时器,主要用于系统。🧠 工作方式:从设定值递减计数器,必须在内重装(喂狗),否则复位系统。✅ 目的:监控主程序是否卡死、失控或未按时执行关键任务。

2025-06-26 14:41:42 1031

原创 实时中值滤波 + 低通滤波 示例程序(STM32环境)

中值滤波器(Median Filter):对短期异常值(如尖峰噪声)有良好的抑制能力;低通滤波器(Low-Pass Filter):对数据进行平滑处理,适合去除高频抖动。适用于如ADC传感器数据处理、电子秤、电流电压读取等场景。

2025-06-18 19:45:00 502 3

原创 【STM32】 LWIP -TCP 客户端收发数据

【代码】【STM32】 LWIP -TCP 客户端收发数据。

2025-06-18 15:31:16 230

原创 【python】线程专题

线程(Thread)是操作系统能够进行运算调度的最小单位。它存在于进程内部,是进程的一部分。一个进程可以包含多个线程,这些线程共享内存空间和资源,但能并发执行代码。方法含义创建锁对象主动上锁(阻塞)主动解锁推荐写法,自动加解锁守护线程是一种后台线程,它的生命周期依赖于主线程。当主线程退出时,所有守护线程会自动结束,不管它们是否完成任务。非守护线程会阻止程序退出,程序必须等待所有非守护线程结束。

2025-06-17 14:19:17 989

原创 【Python】屏幕像素颜色值的获取

一、一个小工具,按住F10键,颜色值会跟着显示。

2025-06-07 22:15:00 295

原创 【STM32 】 LAN8720+LWIP+RTOS的WebServer实现

本项目将 STM32F429 搭建成一个 Web 服务器(WebServer),用户可通过浏览器访问其 IP,实现远程控制与配置功能,例如:接口类型:选择 模式(推荐用于性能更优的通信)GPIO 设置:根据自己电路图配置即可(CubeMX 会根据选择自动分配)任务管理系统堆大小这里重点介绍下一些配置参数:假设你要通过 发一个 2KB HTML 页面:你可以在 CubeMX 的 LWIP -> Advanced Settings -> 中手动填上这些值。具体配置如下:这里串口,时钟这些配置就

2025-06-05 18:01:26 378

原创 【OpenCV】第二章——图像处理基础

以上是图像处理的基础内容,涵盖了图像的读取、显示、基本属性、灰度化、二值化、色彩空间转换、图像变换与操作、图像滤波和平滑以及边缘检测等常用操作。

2025-04-26 15:49:44 1316

原创 【OpenCV】第一章——基础知识

OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉库,它专注于实时图像处理与计算机视觉应用。OpenCV的目标是为开发者提供一整套视觉处理工具,使得图像和视频处理任务变得更加高效与便捷。它是由Intel于1999年发布的,后来逐步成为一个开源项目,广泛应用于学术研究与工业界。

2025-04-25 20:15:00 510

原创 【基础理论相关】 开关电源与线性电源

开关电源的基本工作原理是通过开关元件(如MOSFET、IGBT等)以高频开关的方式控制电流,通常采用变压器、二极管整流、滤波电容等组成电源输出模块。开关频率通常为几十千赫兹到几百千赫兹,甚至更高,通过控制开关元件的导通和断开来调节输出电压和电流。线性电源的基本工作原理是通过变压器、整流、滤波器和线性调节器(如晶体管或集成稳压器)直接调节输出电压。输出电压由线性调节器根据输入电压和负载需求调节,没有高频开关过程。

2025-04-24 19:00:00 1037

原创 【Python笔记】 类

使用。

2025-04-21 22:30:00 1790

原创 【电路设计】MOS管相关参数

最大漏极源极电压V_DS(max最大漏极电流I_D(max导通电阻R_DS(on)栅极电压V_GS和栅极门限电压V_GS(th)开关速度栅极总电荷Q_g功耗和热阻RθJA封装类型根据应用需求,选择适合的 MOS 管型号,确保其能够承受电路中的电压、电流、频率和温度条件。

2025-04-21 21:45:00 1042

原创 【Python笔记】模块的导入

【代码】【Python笔记】模块的导入。

2025-04-21 20:30:00 384

原创 【电路设计】肖特基二极管、TVS二极管、ESD二极管详解

根据应用选择合适的。

2025-04-12 11:18:45 793

原创 【电路设计】静电与浪涌

静电是指由于物体之间的电荷不平衡,导致电荷通过接触或空气放电的一种现象。它通常在物体之间积累静电后,在短时间内释放出来。浪涌是电气系统中由于外部事件(如雷击、电力设备开关操作、电力系统故障等)引起的瞬时高电压波动。浪涌的持续时间通常较短,但它的幅度通常很大,可能会达到数百伏甚至数千伏。静电(ESD)和浪涌(Surge)虽然都涉及电压的波动,但它们的原因、时间尺度、电压和电流幅度以及影响都不同。静电是由于电荷积累导致的瞬时电压放电,电流较小,时间极短;

2025-04-12 11:02:28 1113

原创 【STM32相关】C程序内存管理深度解析

实际内存分布取决于硬件架构和链接脚本(Linker Script)。

2025-04-11 09:43:59 830

原创 【传感器】STM32驱动DS18B20

程序有HAL库和标准库版本,上拉电阻4.7K到10K都能正常读取数据,PA4引脚需要remap。其他型号MCU注意延时即可。

2025-04-01 21:33:01 372

原创 【传感器】STM32驱动DHT11读取数据

HAL库,DeepSeek写的代码,一遍过。

2025-03-25 22:28:49 235

原创 【ESP32】-SD卡测试

一开始式格式化为FAT32格式,但是电脑在SD卡新建的文件和文件夹读取不出来,具体什么原因还不清楚,格式化工具用的是SD Card Formatter。写入时间: 4930 ms | 速度: 415.42 KB/s。读取时间: 4737 ms | 速度: 432.34 KB/s。文件写入成功: /arduino_test/test.txt。(3)SD卡内存大小读取测试。=== 文件夹操作测试 ====== 文件操作测试 ====== 测试文件内容 ====== SD卡信息 ====== 速度测试 ===

2025-02-22 21:59:44 753

原创 STM32 LWIP网络PING不通问题

LWIP网络无法ping通解决方法

2025-01-16 19:11:32 1560 1

原创 CUBEMX配置STM32F4在Freertos下以太网通讯(DP83848驱动)

LWIP 网络栈是一个单线程的网络协议栈,在多任务环境中运行时,如果没有合理地分配任务调度和栈资源,可能会导致任务之间的冲突或资源耗尽(例如套接字缓冲区、内存池等)。RMII 接口对应的时钟频率为 50 MHz,而 MII 接口对应的时钟频率为 25 MHz。相反,客户端的角色是发起连接请求,而服务器则是监听并接受这些请求。MII模式下用到的GPIO,这里选择好MII模式后,GPIO会自动勾选,但是会。这里的寄存器要格外注意,尤其是里面小红框的那几个,建议一一比对好。,在任务函数里有调用,如下所示。

2024-11-20 21:00:00 2132

原创 STM32F4生成随机数(HAL库)

检查工程目录下是否包含“stm32f4xx_hal_rng.c”和“stm32f4xx_hal_rng.h”。

2024-11-20 21:00:00 348

原创 creo之螺旋扫描(螺栓)

螺旋扫描学过好多次了。奈何用的场景太少,老是忘记,特此做个笔记,以备后续不时之需。

2024-11-01 21:01:07 3163

原创 STM32用CUBEMX配置Freertos和PWM

TIM4挂载在APB1下,不分频的情况下,实际PWM周期 = 设置的周期数值/定时器时钟;上图设置1000的实际周期为1000/240=4.1666(单位为us)。

2024-10-29 22:43:23 406

原创 STM32串口提取数据和命令字符

很多时候我们都要用到串口来控制程序的运行模式,例如通过串口助手向单片机发送命令,控制LED,PWM,调节PID参数等。本章以点灯为例,单片机为STM32H750,其他单片机同样适用,实现了通过串口助手发送命令控制LED的开关,亮度。

2024-10-27 20:43:52 1392

原创 STM32H750用CUBEMX配置串口中断接收(带freertos)

这里避免使用半主机模式很重要,不能少。// 接收缓冲区// 用于存储接收到的单个字符int handle;//定义_sys_exit()以避免使用半主机模式x = x;//重定义fputc函数return ch;记得在KEIL勾选这个。// 接收计数器//消除警告//接收数据转存//将'\n'(usart1_rx_counter)后面的数据清空;usart1_receive_buffer[0] = NULL表示将整个数组清空//测试语句,不需要可以删除//再开启接收中断。

2024-10-24 21:10:51 793

原创 关于Arduino的Serial.find()函数找不到字符的原因

Arduino中的字符串查找算法

2023-01-05 12:59:42 590 2

空空如也

空空如也

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

TA关注的人

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