
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
嵌入式系统的硬件和软件特点决定了它的高效、低功耗、实时性和可靠性,硬件:小型化、低功耗、面向特定应用;软件:高效、实时、代码固化、多任务管理。嵌入式软件结构可以分为不带 OS(裸机)和带 OS(RTOS / Linux)两种,如果系统简单(如 LED 控制、UART 通信) → 使用 Bare Metal。如果系统复杂(如 Linux + GUI + 网络) → 使用嵌入式 Linux。如果需要多

空洞文件(Sparse File)是一种逻辑大小和物理大小不一致的文件,其中“空洞”区域不实际占用存储空间。空洞文件在提高存储效率、减少磁盘空间浪费方面具有优势,但在某些情况下,它会对文件系统的碎片化产生一定影响。

本文介绍了基于STM32MP1平台和GT911触摸芯片的LCD触摸系统开发全流程。主要内容包括: 硬件部分: 解析电容式触摸屏原理和GT911芯片工作方式 详细说明I2C接口连接及设备树配置方法 驱动开发: 分析Linux输入子系统框架 详解GT911驱动架构和事件上报流程 提供内核配置和编译指南 软件集成: 介绍tslib移植步骤和常见问题解决 说明应用层事件处理流程 调试方法: 提供设备节点检

这篇博客提供了一个从零基础到架构级的编程思维系统学习路线,分为7个阶段: 思维准备:理解编程本质(抽象、分解、算法等) 基础逻辑:掌握顺序/选择/循环结构和简单项目实践 模块化设计:学习函数封装、状态机、接口设计 算法与数据结构:解决复杂问题(排序、递归、动态规划等) 系统架构:构建可扩展的软件系统(MVC、驱动抽象等) 工程化协作:编码规范、文档、版本控制与团队开发 高阶抽象与建模:UML、领域

本文介绍了在STM32平台上使用CubeMX集成RT-Thread实时操作系统的完整流程。主要内容包括:RT-Thread的特性(多任务调度、丰富组件、CMSIS支持等);通过CubeMX安装RT-Thread软件包的具体步骤(从创建工程、添加PDSC链接到参数配置);重点演示了如何创建LED闪烁线程任务,并提供了完整的代码示例。文章还对比了CubeMX集成方案与官方版本的区别,给出了RT-Thr

摘要 本文介绍了使用 STM32 + HAL 库 + FreeRTOS 消息队列 实现任务间通信的方法。FreeRTOS 提供消息队列、任务通知等交互方式,其中消息队列适用于异步数据传输和任务间通信。文章详细讲解了 CubeMX 配置流程,包括启用 FreeRTOS、配置消息队列和任务,并提供了代码示例,涵盖队列创建、任务发送/接收数据以及中断处理。通过按键触发和外部中断演示了数据传递,帮助开发者

本文介绍了STM32中DAC(数模转换器)的基本原理与应用方法。DAC可将0-4095的数字信号转换为0-3.3V的模拟电压输出,支持12位分辨率、双通道输出。文章详细说明了CubeMX配置步骤、HAL库操作流程(包括初始化、启动、设置输出值等),并提供了DAC与ADC配合实现双向转换的实验方案。通过代码示例展示了输出电压渐变逻辑,并给出了多种验证方法(万用表、ADC采样、串口输出、示波器观测)。

DMA(直接内存访问)是一种外设与内存直接传输数据的机制,无需CPU介入。相比传统方式(ADC→CPU→RAM),DMA(ADC→DMA→RAM)能显著提升效率,释放CPU资源。本文以STM32为例,介绍通过CubeMX配置ADC和DMA的步骤:1)设置ADC通道和触发模式;2)配置DMA为循环模式;3)启动HAL_ADC_Start_DMA函数实现自动采样。数据存入数组后可直接读取,适用于高频采

本文介绍了基于STM32 HAL库和FreeRTOS的任务挂起与恢复机制实现。通过CubeMX配置创建两个任务:myTask01控制蓝灯闪烁(500ms周期),StartTask监控按键(PC1)状态。当按键按下时,通过vTaskSuspend()挂起蓝灯任务,再次按键则用vTaskResume()恢复任务。文章详细说明了任务状态转换机制、CubeMX配置方法(包括RTOS启用和任务参数设置),并

本文介绍了如何在STM32上使用HAL库结合FreeRTOS实现任务创建与删除机制。主要内容包括:通过CubeMX配置FreeRTOS参数,创建两个任务分别控制LED闪烁;详细说明了任务控制块(TCB)结构和任务生命周期管理;给出了具体的代码实现,其中StartTask在运行10次后自动删除,而myTask01保持常驻运行。文章还提供了CubeMX的配置截图和关键代码片段,完整展示了从工程配置到任








