- 博客(14)
- 收藏
- 关注
原创 FreeRTOS入门指南:初探实时操作系统
FreeRTOS简介:轻量级实时操作系统内核 FreeRTOS是一款专为嵌入式系统设计的开源实时操作系统(RTOS),采用MIT许可,可免费用于商业产品。其核心功能包括任务调度、通信、同步和内存管理,适用于资源受限的单核微控制器(MCU)。 核心概念 任务(Task):独立执行单元,拥有优先级、状态(运行/就绪/阻塞/挂起)和独立栈空间。 调度器:基于优先级抢占式调度,确保高优先级任务实时响应。 通信机制:队列(安全数据传输)、信号量(同步/资源管理)、事件组(多任务事件同步)及轻量级的任务通知。 资源管理
2025-09-07 15:06:27
1045
原创 Modbus RTU—— 一文读懂工业通信的常青树
ModbusRTU是工业自动化领域广泛使用的串行通信协议,采用主从架构,通过RS-485/RS-232接口实现设备间通信。其核心特点包括:二进制数据格式、四种数据区(线圈/离散输入/保持寄存器/输入寄存器)、标准功能码和CRC校验机制。该协议简单可靠、开放免版税,支持多种工业设备互联。实现时需统一配置参数(波特率、校验位等),并注意RS-485网络的终端电阻设置。尽管存在传输速率和安全性局限,ModbusRTU凭借成熟稳定优势,仍是工业控制领域的基础通信标准。
2025-09-04 08:33:04
1219
原创 CAN总线过滤器详解:硬件级的智能信息筛
CAN总线过滤器是保障系统高效运行的核心机制。它通过硬件预筛选降低CPU负载,简化软件逻辑并提升实时性。主要工作模式分为标识符列表模式(精确匹配特定ID)和标识符掩码模式(灵活匹配一组ID)。实际应用中需根据ID特征选择模式:离散ID用列表模式,有规律的ID组用掩码模式。合理配置过滤器能最大化利用有限硬件资源,是构建可靠嵌入式网络的关键技术。
2025-09-04 08:32:44
1161
原创 CAN总线通信入门实践(多机通信)
本文介绍了使用STM32微控制器实现CAN总线通信的基础方法。主要内容包括:1. CAN总线核心概念,如差分信号、多主架构、消息标识符等;2. 硬件准备,包括STM32开发板和CAN收发器模块;3. 使用STM32CubeMX配置CAN参数,重点讲解位时序和基础参数设置;4. 代码实现,包括过滤器配置、发送和接收函数;5. 单机测试和多机通信演示。文章还提供了进一步学习的建议,如扩展帧使用和高级协议探索。通过本文,读者可以快速掌握STM32的CAN总线基础通信实现。
2025-09-01 16:56:50
1163
原创 CAN总线:深入浅出,从原理到应用,读懂工业与汽车的网络骨干
本文深入解析了CAN总线技术的核心原理和应用价值。1986年由博世公司推出的CAN总线采用多主、串行、广播式设计,通过差分信号传输实现高抗干扰能力,其非破坏性逐位仲裁机制确保高优先级信息的实时传输。文章详细剖析了CAN总线的物理层特性(差分信号抗干扰)、数据链路层机制(包括帧结构、仲裁规则、错误检测等关键技术),以及位同步和接收滤波器等创新设计。作为经典分布式实时控制系统,CAN总线凭借其高可靠性、卓越实时性和灵活性,不仅广泛应用于汽车电子领域,还拓展至工业自动化、医疗设备等多个行业,展现出强大的技术生命力
2025-09-01 15:20:23
1010
原创 深入解析STM32低功耗模式
摘要:本文详细解析STM32的三种低功耗模式:睡眠模式(关闭CPU时钟,功耗取决于外设)、停机模式(关闭所有时钟,功耗uA级)和待机模式(全断电,功耗1-2uA)。针对不同应用场景,文章分别介绍了三种模式的进入方式、唤醒机制和适用场景,并提供了HAL库实现的代码示例。通过合理选择低功耗模式,可显著延长电池供电设备的续航时间。全文代码实现详见优快云博客文章。
2025-08-14 17:56:22
813
原创 STM32 低功耗模式深度解析:让你的嵌入式设备“电力十足”
本文深入解析STM32微控制器的低功耗模式设计要点,涵盖三种核心模式:睡眠模式(CPU暂停,外设运行,μs级唤醒)、停止模式(关闭时钟,μA级功耗,保留数据)和待机模式(nA级功耗,复位式唤醒)。重点阐述了各模式的切换机制、唤醒源(外部中断/RTC/特定外设)及典型应用场景(如智能水表周期性唤醒)。文章强调实现优化的关键技术:精确电流测量、外设时钟管理、IO状态配置及数据保存策略,并提供了CubeMX配置示例和代码实现要点。通过合理选择低功耗模式,开发者可显著延长电池设备续航,满足物联网等场景的节能需求。
2025-08-14 17:47:04
1208
原创 STM32的ADC多通道连续循环采集(DMA转运)
摘要:STM32采用ADC多通道扫描+DMA转运模式可高效采集多路模拟信号。通过配置连续转换和循环缓冲区,实现数据自动搬运,极大降低CPU占用。关键步骤包括:开启ADC连续循环模式,设置DMA循环转运,定时器触发控制采样率。该方法具有高吞吐率、实时性强等优势,适用于传感器读取、音频处理等场景。实验使用STM32F103C8T6,通过HAL库配置实现3通道数据自动采集,主循环直接读取缓冲区数据,显著提升系统效率。
2025-07-24 09:02:09
987
5
原创 STM32-RTC实时时钟详解(掉电自动走时,含代码)
摘要:本文介绍了STM32 RTC(实时时钟)的掉电走时功能实现方法。RTC作为独立定时器,可在主电源关闭时由VBAT供电维持计时。关键实现步骤包括:1)配置外部低速时钟和RTC模块;2)利用备份寄存器存储日期数据;3)编写读写备份寄存器的函数;4)修改RTC初始化逻辑以判断是否需重新初始化。测试表明,该方法可实现断电后时间持续走时,但需注意VBAT引脚必须连接备用电源(如3.3V电池),否则断电后备份数据仍会丢失。文章详细阐述了硬件连接要求和软件实现要点,特别适用于需要精确持续计时的电池供电应用场景。
2025-07-19 13:07:03
1799
3
原创 非阻塞式按键检测(长按、短按)
本文介绍了一种非阻塞式按键检测的实现方法,通过状态机在定时器中断中处理按键状态,支持单击和长按检测。系统采用结构体数组存储各按键状态,通过定时器中断(1ms周期)轮询检测GPIO状态,使用状态机实现消抖处理。代码分为按键检测和事件处理两个部分,通过标志位区分短按(100ms以下)和长按(100ms以上)。实践证明该方案检测精准可靠,适用于嵌入式系统的按键处理场景。
2025-07-17 14:27:36
343
1
原创 STM32微秒级延时函数
STM32中的微秒级延时函数主要用于需要的场景。它通过让CPU原地执行特定次数的空操作(或基于硬件定时器计数)来实现短暂的暂停,从而满足外设、通信协议或传感器对精确时序的要求。
2025-07-17 13:13:36
1095
原创 基于STM32和ESP8266的智能家居设计,连接onenet云平台
本文介绍了如何使用STM32F103C8T6、ESP01s、DHT11等硬件实现温湿度数据上传和远程控制LED灯的功能。通过AT指令MQTT固件的ESP01s模块,结合OneNet云平台,实现了数据的传输和控制。文章详细说明了AT指令的使用,包括Wi-Fi连接、MQTT配置、数据发布和订阅等关键步骤。代码部分展示了如何通过STM32读取DHT11的温湿度数据,并通过ESP01s上传到云端,同时接收云端的控制指令来开关LED灯。整个过程通过CubeMX配置和HAL库实现,适合初学者参考和扩展。
2025-06-04 09:01:55
2034
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅