登录社区云,与社区用户共同成长
邀请您加入社区
本课题设计一款基于 STM32 或 51 单片机的智能温控风扇控制系统,系统集成温度采集、人体感应、语音识别、蓝牙通信等功能模块。硬件由主控单片机、DS18B20 温度传感器、HC-SR501 人体感应模块、SU-03T 语音识别模块、ECB01 蓝牙模块、LCD1602 显示屏与 4010 风扇组成。系统支持手动、自动两种工作模式,共设置 10 档 PWM 调速;自动模式下可依据环境温度调节风扇
FreeROTS是一款基于Web的轻量级开源机器人仿真与开发平台,兼容ROS理念但更易部署。本文以GD32F450为例,详细介绍了其在Keil MDK中的移植流程:裁剪FreeRTOS内核文件,配置FreeRTOSConfig.h,合理设置时钟、优先级、堆大小及中断优先级,并修正中断向量表映射。通过创建任务实现流水灯与串口输出,验证系统运行正常。代码简洁可复用,适合教学与嵌入式开发初学者快速上手。
在STM32多传感器项目中,FreeRTOS队列集(QueueSet)可高效处理红外、编码器、MPU6050等多路中断数据。其核心原理为:队列集仅存储队列句柄,当任一队列有数据时,自动通知任务阻塞唤醒。任务通过句柄判断数据来源,再读取对应队列完成处理,避免轮询浪费资源。代码实现中,中断仅写队列,任务统一调度,提升系统响应性与实时性。适用于机器人、平衡车等多源事件协同场景,显著降低CPU占用,是嵌入
最近在鸿蒙班完成了智能闸门综合实验,从硬件接线、传感器采集到舵机执行控制,完整走完一套嵌入式物联网闭环项目。把整个踩坑过程、原理、实验收获整理分享出来,适合鸿蒙嵌入式入门同学参考。本次实验使用 Hi3861 鸿蒙开发板,基于 OpenHarmony 操作系统,搭配 SG90 舵机、HC‑SR501 人体红外传感器,模拟停车场 / 小区的自动道闸。核心效果:检测到有人或物体靠近,闸门自动抬起开闸;延
程序活在逻辑地址的“有序幻象”中,硬件工作在物理地址的“无序现实”里,而地址映射机制(MMU + 页表)是连接这两个世界的唯一桥梁。理解了这一点,你就理解了为什么现代操作系统能同时安全、高效地运行成百上千个进程;理解了什么是虚拟内存;也理解了为什么“指针”在C语言中既强大又危险——因为你操作的永远是逻辑地址,而真正的物理真相,被操作系统牢牢地藏在幕后。下次再看到类似的映射图,不妨试着沿着箭头走一遍
摘要静脉输液是临床治疗中应用最广的一种给药方式,传统的输液过程主要是依靠人工监护来完成的,存在着护士工作负担重、异常情况反应慢、患者体验差等状况。本文根据以上问题,设计并实现了一套以STM32F411CEU6为主控制芯片、使用RT-Thread作为实时操作系统来组成的一套智能静脉输液自动监控系统。系统用模块化设计为主控模块、滴速检测模块、温度检测及加热控制模块、液位检测模块、输液开关控制模块、显示
摘要随着物联网技术的发展,传统电子秤已难以满足数据远程管理、长期记录的应用需求,为此本文设计了一款集称重、显示、数据存储与远程上传于一体的智能电子秤。本设计以STM32F411CEU6为核心控制器,搭配电阻应变式称重传感器与 HX711 24位高精度A/D转换芯片完成重量信号的采集与数字化处理;采用TFT LCD 屏幕实现称重数据与系统状态的本地实时显示,通过ESP8266 WiFi模块构建无线通
根据上一节所学的,通过上位机给stm32C8T6发送数据,然后stm32C8T6接收数据后,重新发送回来,例如运行结果如下。当我在上位机下面发送框给stm32C8T6发送数据123456789时候,stm32C8T6接收到数据后重新将数据123456789发送回来给上位机,上面框框是上位机接收到的数据。但是这是在非阻塞模式下进行发送的数据,是正常的,我发送123456789后,单片机接收到,然后重
右侧带颜色的为可开关的,灰色底色代表默认状态下模块关闭,左侧通过enable使能开关。HSI、HSE、LSE、LSI为四个时钟源(高速/低速)(内部/外部(接))
本文基于STM32F103C8T6设计智能温控水箱系统,集成DS18B20温度与水位传感器,采用PID算法实现±0.5℃精准控温,配合OLED显示、触控按键、蜂鸣器报警及继电器保护,保障安全高效。支持红外遥控与蓝牙双模远程控制,可定时预约,智能化程度高。配套提供全注释Keil源码、Altium原理图PCB、论文模板、答辩PPT及实测视频,助力毕业设计高效完成。作者专注单片机开发与毕设辅导,提供从设
STM32F429硬件I2C驱动程序,采用中断方式实现。程序支持无子地址、单字节子地址、8+X结构子地址、双字节子地址四种常见器件的读写操作。驱动读写函数采用等待+超时的机制,极大规避了总线异常导致的程序卡死问题;
本文档记录 ST7302 显示模块从 ATmega2560 平台迁移到 ESP32-S3 平台后的调试过程、硬件连接、软件配置、显示坐标映射、初始化参数以及最终验证程序。本次调试的主要目标不是完成完整 UI,而是首先确认以下底层链路能够稳定工作:最终测试结果:本次测试使用:4D Systems gen4-ESP32 S3 N16R8(arduino板子名字)主控为 ESP32-S3。同时使用过:Y
基于STM32F103C8T6设计了一套低成本、高可靠的实验室智能安防系统,集成RFID门禁与密码双重验证、MQ-2烟雾检测、TEMT6000火焰感知、DHT11温湿度监测及ESP8266远程报警控制。系统通过OLED实时显示状态,支持本地声光报警与手机端远程推送,异常时自动启动通风设备。经测试,功能稳定,响应迅速,具备良好的扩展性与实用性,适用于实验室、机房等高安全需求场景。
基于STM32F103C8T6的智能温控床垫系统,集成多点测温(DS18B20)、重量监测(HX711)、倾斜调平(ADXL345+步进电机)与OLED实时显示功能,实现自动加热、入床识别、异常报警及角度自校正。系统通过模块化软件设计,完成数据采集、阈值判断与联动控制,具备高可靠性与低功耗特性,适用于老人护理、康复辅助等场景,具备向物联网拓展潜力。
基于STM32的小区供暖监控系统,集成温湿度(DHT11)、水位(SR-01+ADC)、红外入侵(TCRT5000)检测,通过OLED显示、蜂鸣器报警、继电器补水及步进电机通风实现本地联动;数据经ESP8266以MQTT协议上传手机APP,支持远程查看与布防。系统结构清晰、模块选型合理,软件采用模块化设计,功能完整、响应迅速,有效解决传统供暖管理依赖人工巡检、响应滞后的问题,为小区供暖智能化升级提
STM32开发常用组合为STM32CubeMX与Keil5。CubeMX作为图形化配置工具,可自动生成HAL库初始化代码,实现引脚分配、时钟配置等底层设置;Keil5则用于编写业务逻辑、编译调试及烧录程序。二者分工明确:前者“画配置、打地基”,后者“写代码、盖房子”。该组合降低开发门槛,提升效率,广泛应用于教学、竞赛(如RoboMaster)及产品开发。安装教程详见飞书文档,涵盖环境搭建至校验全流
本实验以 STM32F103C8T6 最小系统核心板为实验对象,使用 Keil MDK-5 搭建一个不依赖 HAL 库和标准外设库的裸寄存器工程。实验在面包板上连接红、蓝、绿三只外接 LED,并利用核心板上的 PC13 板载 LED,共设置四个流水灯输出端口。程序通过直接访问 STM32F103C8T6 的寄存器地址,先使用开启 GPIOA、GPIOB 和 GPIOC 的外设时钟,再使用GPIOx
本篇分享一次物联网识别技术课程实战,使用 STM32L431 主控、ESP8285 WiFi 模块、MG996R 舵机,基于 Huawei LiteOS 实时操作系统,借助 MQTT 协议打通云平台与硬件设备,完成一套可以云端远程控制的智能道闸系统,完整复现云端下发指令→硬件执行动作→设备回传状态的端‑云协同全流程。提示:以下是本篇文章正文内容,下面案例可供参考所有入网参数集中宏定义:WiFi 名
单灯点亮单灯闪烁跑马灯GPIOAGPIOBGPIOF等本质是宏,最终展开为指向// 端口配置低寄存器// 端口配置高寄存器// 输入数据寄存器// 输出数据寄存器// 位设置/清除寄存器// 位复位寄存器// 配置锁定寄存器基地址由PERIPH_BASE + APB2PERIPH_BASE + 端口偏移计算得到。通过结构体指针访问成员,就是直接读写对应物理地址的寄存器。
本文基于 Hi3861(HarmonyOS LiteOS)智能家居项目实战,完整记录 MQTT 通信从 0 到稳定收发的踩坑全过程:Broker 选择与 MQTTX 配置、Topic 匹配、cJSON 指令解析、无心跳被踢下线、PINGREQ 保活、断线自动重连、AT+CIPSTART 超时、I2C 等不到 ACK 卡死等问题,每个坑都附真实串口日志、原因分析和可直接复用的代码。
在鸿蒙生态的LiteOS实训平台上,智能门禁是一个非常综合的物联网项目:包含串口协议驱动、指纹生物识别、舵机执行机构、传感器闭环检测、RTOS多任务调度、Wi‑Fi云端双向通信。本篇基于ZHIoT智慧家居实训平台,主控STM32L431VCTx,搭配ATK‑AS608光学指纹模块、MG996R舵机、E18‑D80NK红外光电开关、ESP‑M2 Wi‑Fi模组,完整拆解一套可以指纹开锁、自动关门、L
(放在标题下面,提升CSDN搜索曝光)吗?
必备工具:Keil5 MDK-ARM安装包(建议V5.38及以上版本)、对应芯片包(如STM32F1系列)、注册机(用于激活,仅学习使用)。pwd=dkfu 提取码: dkfu。操作系统:Windows 7/10/11(64位,不建议32位系统,部分新版本Keil5不支持);硬盘空间:至少10GB可用空间(含安装包、安装文件、后续工程存储);权限:以管理员身份运行安装程序(避免权限不足导致安装失败
本文介绍基于STM32F103C8T6与MPU6050的智能睡眠监测系统,具备六轴体动采样、独家睡眠分期算法(准确率>90%)、OLED实时显示、心率/体动异常报警、SD卡数据存储及低功耗设计等核心功能。配套提供全注释Keil源码、Altium原理图PCB、论文模板、答辩PPT及实测视频,资料齐全,可直接用于毕业设计,助力高效完成开题、实现、论文撰写与答辩,适合高校学生参考使用。
本项目基于STM32F103C8T6最小系统板,使用HAL库开发,实现以下核心功能:通过DMA接收上位机VOFA+发送的数据,将接收到的数据解析为浮点数,用于驱动舵机旋转到指定角度;同时通过DMA按照JustFloat协议向上位机回传当前角度和PWM占空比数据,实现双向实时通信。
要点说明1陀螺仪积分会漂移零偏被 dt 无限放大,1 分钟歪 30°不是梦2加速度计不漂但抖运动加速度混入,高频毛刺严重3互补滤波取长补短陀螺仪管动态 + 加速度计拽静态,α=0.952384用atan2不用atan象限正确、范围 [-180°,+180°]、x=0 不炸5Roll 要取反芯片 Y 轴方向与右手定则反号6PERIODIC保证精确 dt定时器宏简化代码,无需手动计时。
本文介绍了一款基于STM32F103C8T6的智能小区充电桩系统。系统通过光电红外传感器记录车辆进出数量,LED灯闪烁提醒;DHT11采集温湿度,MQ-7检测一氧化碳浓度,OLED实时显示各项数据。温湿度或危险气体超限时蜂鸣器报警。通过ESP8266接入机智云,手机App可远程监视环境数据并调节阈值,实现智能小区充电桩的环境监测与安全管理。
ESP32 的 AP(Access Point)热点模式是设备配网最核心的方案。设备出厂没有路由器账号密码时,ESP32 开启 AP 热点,手机连接该热点,访问内置 Web 网页,把家里路由器的 SSID、密码提交给设备,完成配网。很多开发者直接复制官方简单 AP Demo,只实现热点能够被搜索;
摘要:C语言凭借5大核心特性统治底层开发50年:指针直接操控内存,实现高效变量交换;宏定义在编译期完成计算,实现零开销抽象;位运算直接操作硬件,提升性能5倍;函数指针实现零开销多态,增强灵活性;内存池手动管理内存,消除碎片提升10倍性能。这些特性体现了C语言"接近硬件、极致高效"的设计哲学,使其成为操作系统、嵌入式等核心领域的不二之选,即使新兴语言层出不穷,仍无法撼动其底层王者
本文介绍一种适用于STM32裸机开发的非阻塞多任务框架,摒弃RTOS,基于状态机与SysTick定时器实现零开销、无卡顿的多任务并行。通过时间戳判断替代延时阻塞,任务分段执行,确保CPU高效利用与系统稳定性。框架结构清晰、代码精简可移植,适用于工业控制、智能家居等资源受限场景,可直接用于实际项目,彻底解决传统裸机阻塞问题。
在VSCode+PlatformIO开发STM32F4项目时,若使用J-Link(SWD)烧录失败,根源在于默认上传协议为stlink,导致调用OpenOCD加载不兼容的HLA适配器。实际硬件为原生支持SWD的J-Link,无法识别hla_swd传输。解决方法:在platformio.ini中设置upload_protocol = jlink和debug_tool = jlink,使OpenOCD
同一个系列的芯片,型号后面几个字母和数字为什么会影响实际使用?一块看似简单的最小系统板,启动时还要先确认哪些事情?
本节介绍Claude Code扩展的安装方法与基本使用方式。在实际STM32工程开发中,开发者往往需要同时查看文件、编辑代码、运行构建命令并检查修改差异。将Claude Code集成到VS Code中可以将AI交互与工程开发整合在同一界面,减少在终端和编辑器之间的切换。
本文为STM32C8T6零基础入门教程,详解面包板使用原理与流水灯实验。通过B站视频教程掌握Keil开发环境搭建,利用寄存器方式配置GPIOA0-A7为推挽输出,结合BSRR寄存器实现LED逐个点亮与熄灭,完成流水灯效果。内容涵盖时钟开启、引脚配置、代码编写与接线规范,强调底层寄存器操作对理解ARM内核的重要性,适合初学者系统学习嵌入式开发。
(63)(64)
本文系统阐述了SRAM内存布局(.data、.bss、heap、stack等)与FreeRTOS任务创建流程,解析了五种堆管理机制特性。结合STM32平台,通过串口实现动态内存分配与按键事件处理,演示了pvPortMalloc/vPortFree的使用及多任务协同机制,验证了FreeRTOS在嵌入式系统中对内存与外设的高效管理能力。
遇到“软复位无效、只有断电才能恢复”的现象,第一时间怀疑 I2C/SPI 外设器件——它们有独立供电,不受 MCU 复位影响。阿波罗板子的 LCD RST 走 PCF8574 是个经典坑,其他开发板可能不同。不是所有 I2C 器件都支持连续读。24C02 EEPROM 支持,AP3216C 不支持。遇到0xFF连续一片,先怀疑连续读。0xFF是 SDA 上拉后的空闲电平,说明从机松手了。多个独立事
这一篇想聊聊我积累英文单词的起点:最开始是硬啃 STM32F407 编程手册,一边查寄存器、一边记下那些反复出现的芯片和外设词汇;后来进入工作,又陆续遇到协议报文、硬件术语、调试工具等杂七杂八的英文。从手册到工作,词汇量就是这样一点点攒起来的,所以这篇会按「手册积累」和「工作积累」两部分来整理,后续也会持续更新。
开源鸿蒙PC社区推出Tera Term终端模拟器适配版本,基于ArkTS/ArkUI与C++ Native分层架构,实现TCP、Telnet、SSH及串口通信功能。项目在HarmonyOS PC真机上成功验证五类核心场景:应用启动、网络连接、双向输入输出、多会话独立管理与终端渲染。通过Node-API桥接前后端,保留原生终端语义,不依赖Win32兼容层,为嵌入式与运维用户提供稳定高效的跨平台终端体
虽然这个方法能一针见血地帮你把问题定性为硬件故障,但具体的故障点(虚焊、电容容值错误、晶振损坏)仍需要你对电路板进行物理检查。虽然单片机发出了开启指令,但硬件层面上外部晶振并没有产生稳定的振荡波形反馈给单片机。后,你就可以彻底放弃排查软件代码,将精力 100% 集中在晶振、起振电容以及周边走线的纯硬件排查上。寄存器状态是芯片内部电路的真实物理反馈,排除了所有软件代码逻辑的干扰。为 0,就能 100
本文以STM32F103裸机工程为例,详解CMake全流程:通过cmake -Bbuild -G Ninja配置阶段生成build.ninja,再用cmake --build build构建,最终产出.elf、.hex、.bin和.map文件。核心在于顶层创建空目标,各子目录通过target_sources和target_include_directories挂载代码与头文件,工具链文件(如cor
本实验在华为 LiteOS 实时操作系统上完成,把字符串xxx编码成标准 QR‑Code 二维码,在 SPI 接口的 TFT 液晶屏上渲染输出;串口同步输出原始字符串,手机扫描屏幕二维码可以还原出原始文本,完成 “软件编码‑硬件显示‑手机解码” 完整闭环。硬件环境主控芯片:STM32L431VCT6显示设备:SPI 接口 TFT‑LCD 屏幕通信外设:SPI1(主机模式),USART1 串口系统框
这个智能道闸模拟停车场门禁闸机,核心功能:物联网平台下发指令远程控制道闸开 / 关,开闸之后 10 秒自动落闸;LCD 屏幕实时展示网络状态、车牌校验结果、道闸状态;设备把道闸开关状态通过 MQTT 上报云端平台。硬件清单主控:STM32L431VCT6执行机构:2 个 MG996R 数字舵机通信模块:ESP8285 Wi‑Fi 模块,对接物联平台软件框架:华为 LiteOS 多任务系统,Keil
stm32
——stm32
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net