PID 控制算法: 位置式与增量式对比 第二篇(进阶) PID 进阶实战:位置式与增量式完全对比 在上一篇《PID 控制算法 第一篇(基础篇)》中,介绍了 PID 控制的基础概念、三个参数的物理意义以及基本的调参方法。如果你还没有阅读过第一篇,建议先回顾基础知识再来阅读本文。 本篇作为 PID 系列的第二篇,将深入探讨 PID 控制器在工程实践中最核心的两种离散化实现方式——位置式 PID 和增量式 PID。我们会从数学推导、代码实现、优缺点对比、工程 嵌入式开发 林峰 16天前 335 热度 0评论
第四篇FreeRTOS同步机制-信号量、互斥量与优先级反转 第四篇 FreeRTOS 同步机制:信号量、互斥量与优先级反转 掌握信号量与互斥量的原理和使用场景,深入理解优先级反转问题。这是 RTOS 面试中出现频率最高的知识点之一。本文从"为什么需要同步"讲起,带你彻底搞清楚二值信号量、计数信号量、互斥量的区别和实战用法。 一、为什么需要同步机制? 1.1 多任务并发问题 任务A: 读取温度 → → 写入全局变量 temp 任 嵌入式开发 林峰 16天前 187 热度 0评论
第二篇FreeRTOS任务管理-基础架构与生命周期 FreeRTOS 基础架构与任务管理 理解 RTOS 存在的意义,掌握 FreeRTOS 任务的完整生命周期,能独立创建多任务程序。本文从裸机与 RTOS 的对比入手,带你一步步搞懂 FreeRTOS 任务的创建、状态机、调度规则和常用 API。 一、FreeRTOS 是什么?为什么需要它? 1.1 裸机 vs RTOS 对比 对比项 裸机(前后台系统) FreeRTOS 架构 while(1) 嵌入式开发 林峰 17天前 311 热度 0评论
嵌入式通信协议UART、I2C 、SPI、CAN、Modbus总线协议区别 嵌入式常用总线特点与区别 前置知识: 先搞懂同步/异步、串行/并行、全双工/半双工、差分/单端信号等基础概念,后面的协议就能秒懂《 👉 通信基础概念》 一览表(速查) 特性 UART I2C SPI CAN Modbus 全称 Universal Asynchronous Receiver/Transmitter Inter-Integrated Circuit Serial Peripheral 嵌入式开发 林峰 17天前 1225 热度 0评论
详解GCC编译器常用命令 GCC 从入门到实战:编译四阶段 + 常用命令速查 GCC(GNU Compiler Collection)是 Linux 下最常用的 C/C++ 编译器,也是嵌入式开发中不可或缺的工具。 基本格式:gcc 源文件 -o 输出文件 💡 嵌入式中的交叉编译 交叉编译器的用法和 gcc 完全一致,只是前缀不同: arm-linux-gnueabihf-gcc — ARM Linux aarc C语言进阶 林峰 18天前 270 热度 0评论
第三篇FreeRTOS 通信机制 — 队列、事件组与任务通知 FreeRTOS 通信机制 — 队列、事件组与任务通知 FreeRTOS 提供了三大核心通信机制:队列、事件组、任务通知。掌握它们的原理、API 和适用场景,是写好多任务程序的关键。本文带你逐一攻破。 一、队列(Queue) 1.1 什么是队列 FreeRTOS 队列(又称消息队列)是一种线程安全的 FIFO 缓冲区,专门用于在任务与任务、任务与中断之间传递数据。你可以把它想象成一个带锁的管道—— 嵌入式开发 林峰 18天前 176 热度 0评论
嵌入式开发中 void 的用法总结 在 C 语言嵌入式开发中,*void 万能指针*是一个必须掌握的核心概念。void* 被称为"万能指针",因为它可以指向任意数据类型,是实现 C 语言"泛型"和"多态"的唯一手段。无论是 RTOS 内核、驱动抽象层,还是硬件寄存器操作,void 万能指针无处不在。本文将从基础概念到实战应用,全面讲解 void* 万能指针的使用方法。 一、 嵌入式开发 林峰 18天前 147 热度 0评论
Keil µVision 软件使用指南 Keil µVision 软件使用指南 Keil µVision 是 ARM 公司旗下的嵌入式集成开发环境(IDE),是 51 单片机和 ARM Cortex-M 开发中最主流的工具。 版本 适用芯片 编译器 Keil C51 STC8/STC15/AT89C51 等 51 系列 C51 编译器 Keil MDK STM32/GD32/NXP 等 ARM Cortex-M ARMCC / ARM 嵌入式开发 林峰 20天前 198 热度 0评论
GDB 调试器使用指南 GDB 调试器使用指南 GDB(GNU Debugger)是 Linux 下最常用的 C/C++ 程序调试工具。GDB 主要能做以下四件事来帮助你定位 Bug: 启动程序 —— 可以指定任何可能影响程序行为的参数与环境。 条件中断 —— 让程序在满足指定条件时停下来。 检查现场 —— 程序停下后,检查当时究竟发生了什么。 动态修改 —— 在运行中修改程序状态,从而验证对某个 Bug 的修复思路,再 C语言进阶 林峰 20天前 159 热度 0评论
轮趣 MG370P34_12V 霍尔编码器频率与转速计算 霍尔编码器简要笔记 轮趣 MG370P34_12V 电机采用的是磁式霍尔增量编码器,主要由多对极磁环和霍尔元件组成。 MG370 电机所带的霍尔 AB 相编码器属于增量式编码器(区别于 AS5600 这类磁性绝对角度传感器),其输出的 A、B 两路信号具有固定的相位先后关系,可用于判断电机转动方向,并统计转速及转动角度增量。由于该编码方式不提供绝对位置信息,上电后需从初始状态开始累计。其结构简单、 嵌入式开发 林峰 2026-01-15 384 热度 0评论