自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

玩点酷的

以前一直在做输入,现在输出一下自身所学

  • 博客(7)
  • 收藏
  • 关注

原创 GRBL速度前瞻算法解析 激光雕刻机、写字机最常见固件 GRBL源码详解

摘要:本文详细解析了GRBL控制系统中的速度前瞻算法与反向规划正向修正算法。首先介绍了算法涉及的重要数据结构,包括执行层数据(步数、方向)和规划层数据(速度、加速度)。随后分析了坐标转换、单位向量计算和拐角速度限制等核心算法,重点讲解了通过反向规划确保减速停止、正向规划优化加速过程的工作原理。最后阐述了算法如何通过动态调整各块入口速度实现平滑运动控制,确保机械系统在高速运动时保持稳定性和精度。

2026-01-26 21:05:48 337

原创 【STM32定时器进阶】彻底搞懂“影子寄存器”与预装载机制:拒绝波形抖动

摘要:STM32定时器的"影子寄存器"机制通过预装载功能确保动态参数修改时的时序安全。文章深入解析当直接修改ARR/CCR寄存器时可能引发的周期失控(CNT>ARR导致计数溢出)和占空比毛刺(CNT>CCR导致电平突变)问题,揭示预装载使能(ARPE/OCPreload)如何利用硬件缓冲在更新事件时同步参数。通过代码示例展示标准库和HAL库的配置方法,并解答常见应用场景中的疑问。该机制是保证PWM波形连续性和电机控制稳定性的关键设计,特别适用于需要动态调频的嵌入式应用场景。

2026-01-28 22:39:24 951

原创 【嵌入式底层】一文读懂原子操作:从 a++ 竞态到 ARM LDREX/STREX 硬件原理

摘要: 原子操作是嵌入式多任务系统中确保数据一致性的关键。文章剖析了a++操作在多线程环境下的竞态问题,揭示了非原子操作导致的数据覆盖风险。介绍了两种解决方案:软件层面的关中断方法(简单但影响实时性,仅适用于单核)和硬件层面的ARM独占访问指令(LDREX/STREX),后者通过独占监视器实现高效的无锁原子操作。文章还通过汇编代码示例展示了自旋锁的实现原理,并解答了常见问题,强调原子操作在并发编程中的核心地位。理解这些机制有助于调试RTOS内核和编写高可靠性底层驱动。

2026-01-28 21:01:10 969

原创 树莓派上通过 Docker 部署 Home Assistant (HA) 智能家居系统+HACS

本文详细介绍了在树莓派上使用Docker部署HomeAssistant(HA)智能家居系统的完整流程。主要内容包括:1)基础环境准备,包括Docker安装和用户权限配置;2)优化容器网络连接,配置Docker引擎的代理设置;3)通过docker-compose部署HA并创建容器;4)安装HACS社区商店,提供手动和自动两种安装方式。文章还提供了常用的Docker管理命令和解决HACS安装问题的方案,特别强调了网络加速和权限设置的注意事项。整个过程旨在帮助用户快速搭建智能家居控制中心。

2025-12-29 23:47:56 1237

原创 树莓派网络环境优化与分流配置教程

本文介绍了在树莓派上部署Mihomo分流工具的完整教程。内容包括:1) 基础准备与程序安装,通过SCP传输并解压Mihomo;2) 配置文件设置,包括端口、代理规则和订阅链接配置;3) 进阶功能实现,如可视化管理面板(Yacd)的配置使用、精准分流规则设置(GEOIP/GEOSITE)以及相关数据库下载。教程详细说明了每个步骤的操作命令和配置方法,最后通过curl命令测试验证了海内外流量的精准分流效果。整个过程基于PC已有加速环境的前提,为树莓派用户提供了完整的网络分流解决方案。

2025-12-29 22:17:26 793

原创 树莓派与移动端共享开发环境:局域网中继代理配置指南

本文介绍了通过PC端网络加速环境为树莓派和手机提供局域网代理的方法。核心步骤包括:在PC端开启加速软件的局域网共享功能并记录IP地址和端口;手机连接同一Wi-Fi后手动设置代理验证通路;树莓派通过设置环境变量指向PC代理。该方法适用于临时性的系统更新和依赖下载,但需要注意PC需保持开机状态且IP地址变动时需要更新配置。验证方式包括访问海外网站或使用curl命令检查IP地址。

2025-12-28 23:07:54 360

原创 ESP32组件与文件添加全攻略

本文介绍了在ESP32 IDF框架下使用VSCode添加新组件和新文件的方法。对于新组件,需在项目目录下创建components文件夹,并在其中新建子组件目录(包含.c、.h和CMake文件),其中CMake文件必须声明源文件和头文件路径。对于新文件,可在main目录下新建文件夹并添加.c/.h文件,需在main/CMakeLists.txt中声明新增文件路径。两种方式完成后都需要清除并重新构建项目。文章详细说明了CMake配置语法和路径设置规范。

2025-08-13 12:01:55 642

空空如也

空空如也

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

TA关注的人

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