登录社区云,与社区用户共同成长
邀请您加入社区
├── include # 内核公共头文件(API 声明、内部数据结构)├── *.c # 内核核心实现(与硬件无关)│ ├── [compiler]/[arch] # 移植层(上下文切换、硬件相关数据类型)│ └── MemMang # 可替换的内存管理实现└── (工程目录)├── FreeRTOSConfig.h # 工程配置└── main.c / freertos.c # 入口和任务创建
STM32MP157 M4 跑内部 SRAM 踩坑,OpenOCD 二次下载后 LED 常亮 / 熄灭,无法正常闪烁;实测对比 reset‑halt 带来调试报错重连问题,通俗讲解 unknown state 警告为什么删不掉,给出 AIRCR 软复位 + RETRAM 伪向量表一键 bat 脚本,梳理开发容易踩的隐形陷阱。
忘记开时钟,串口完全不工作。中断两个开关必须全部打开,只出现RXNE标志不会自动进中断。中断函数名字不能写错。中断里面禁止Delay、复杂运算;只做读取赋值,业务逻辑放while(1)。中断优先级分组写在main最开头。
本文设计一套基于 STM32 或 51 单片机的人体生命体征监测与远程报警系统。系统采用 MAX30102 采集心率、血氧数据,DS18B20 采集人体温度,通过 LCD1602 液晶实时展示各项体征参数;设置、增加、减小、退出四个按键实现各项监测阈值自定义配置。当检测心率、血氧、体温数值超出预设范围时,设备触发 LED 与蜂鸣器组成的声光报警,并利用 AIR780E 通信模块向绑定手机发送中文异
本文介绍了如何使用TB6612集成H桥芯片通过三根控制线(AIN1/AIN2/PWMA)实现电机的四种控制状态:正转调速(AIN1=1,AIN2=0)、反转调速(AIN1=0,AIN2=1)、刹车(AIN1=AIN2=1)和停止(AIN1=AIN2=0)。TB6612内置双通道独立H桥,可同时控制两个电机,适用于差分驱动小车等应用。文章还提供了STM32代码示例,对比了集成芯片与分立MOS管方案的
基于51/STM32单片机智能婴儿监护系统 多功能婴儿床婴儿摇篮系统1(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)哭闹检测+尿床检测+音乐播放+语音提醒+摇床。
本文设计了一种基于STM32的智慧楼宇管理系统,集成火灾监测、身份识别、节能照明及太阳能逆变并网功能。系统采用MQ-2烟雾和HY-01火焰传感器检测火情,红外传感器实现照明控制;结合RFID、指纹和人脸识别确保出入安全;利用晶闸管逆变技术将太阳能发电并网,HLW8032模块监测电能。通过ESP8266连接物联网平台实现远程监控和微信报警,AIR780E 4G模块提供通信冗余。测试显示,系统火警响应
本文详细介绍了STM32串口打印实验的实现步骤。首先通过原理图确定使用USART1串口(PA9、PA10引脚),然后在IDE中新建工程并配置Debug、RCC和USART1模块。重点说明了代码修改部分:在USART.c中重定向fputc函数实现串口输出功能,在main.c的while循环中添加printf语句实现数据发送。实验采用115200波特率,8位数据位,1位停止位,无校验位的配置。最后将程
text指令简单理解把栈顶地址放入sp调用,并用lr保存返回地址无条件跳到从地址r3 + r1读取 4 字节到r3把r3写入地址r0 + r1cmp r2, r3比较r2和r3,只更新标志位如果无符号比较结果是“小于”,跳到这段汇编不是在做复杂算法,而是在为 C 程序运行做准备:设栈、初始化内存、最后跳进 main。
基于 STM32 和 ESP8266 的智能农业设计方案”,并结合使用 TraeAI 工具进行开发的需求,以下为您整理了一份从硬件选型、系统架构、代码实现到 AI 辅助开发的完整指南。
STM32启动过程详解初始化栈顶指针sp将0x08000000 - 0x08000003中的值赋值给sp,由硬件自动完成。执行复位程序Reset_HandlerReset_Handler中先调用SystemInit进行系统初始化,然后调用__main函数。在__main函数中会初始化RW和ZI段,最后跳转到main函数。; Reset handlerReset_HandlerP...
摘要:本文介绍了在AI时代下如何利用现代开发工具链配置STM32硬件开发环境。针对传统硬件开发工具(如Keil5、Arduino)界面老旧、功能不足的问题,作者提出基于VSCode的解决方案,详细讲解了macOS系统下的环境搭建步骤,包括安装Homebrew、VSCode、CMake等工具,重点解决了STM32CubeMX在macOS上的安装问题。文章还提供了VSCode插件配置指南(STM32开
摘要:本文解析FreeRTOS中的事件组组件,对比事件组与队列的区别,指出事件组主要用于标志位管理而非数据传输。事件组通过集中管理事件位(如ADC采集完成、串口发送完成等)实现事件驱动机制,包含事件等待列表和阻塞功能。关键数据结构仅包含事件位和等待列表,核心函数包括xEventGroupWaitBits(等待事件)、xEventGroupSetBits(设置事件)和xEventGroupSync(
将AI大模型嵌入STM32单片机以实现智能化是当前嵌入式边缘计算的热点。这主要通过模型量化、优化与特定硬件加速实现。以下从技术实现方案、具体应用场景和案例三个层面进行详细解构。STM32上运行AI模型的核心在于克服其有限的存储、计算和功耗预算。无论选择哪种方案,都是ST官方的核心转换与部署工具,它支持将来自Keras、TensorFlow Lite、ONNX等格式的模型转换为高度优化的C代码,以便
最近开源创客圈里,绝对是顶流般的存在,从技术圈的小众项目火到全网刷屏,让很多原本觉得 AI 开发遥不可及的普通人,都萌生了的想法。今天就和大家慢慢聊聊,这个超火的小智 AI 到底是什么,我们普通人零基础也能怎么动手打造,还有超多好玩的实战项目可以跟着玩。如何打造一个属于自己的小智AI机器人。
VS Code + Cortex-Debug STM32 调试配置指南 本文提供完整的 STM32 开发环境配置方案,帮助用户在 VS Code 中搭建基于 Cortex-Debug 插件的调试系统。指南包含: 核心工具链说明(ARM GCC、Cortex-Debug、GDB) 调试器选择(J-Link/ST-Link/OpenOCD)及工作原理 详细对比 VS Code+EIDE 与 Keil
本文介绍了一个基于STM32的智能灯光控制系统,结合了Un
一、先明确中国 TACS 核心参数(必须严格匹配)表格参数中国 TACS 标准值说明频段上行:890–915 MHz下行:935–960 MHz双工间隔 45 MHz信道带宽25 kHzFDMA 信道间隔调制方式语音:FM(频偏 ±9.5 kHz)信令:FSK(1200 bps)控制信道数字、语音信道模拟。
打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行,就叫中断寄存器分类寄存器名称位数个数功能说明中断使能ISER328写1使能对应中断,写0无效中断除能ICER328写1禁能对应中断,写0无效中断挂起ISPR328写1挂起中断(软件触发)中断清除挂起ICPR328写1清除中断挂起标志中断活动状态IABR328只读,查询当前正在执行的中断优先级分组AIRCR321位[10:8]
摘要:本文详细分析了基于STM32微控制器的工程主文件(main.c)设计,重点阐述了其嵌入式外设驱动、人机交互和时序控制等功能实现。系统采用STM32HAL库架构,包含串口通信、数码管显示、按键扫描等核心模块。其中,串口支持中断接收和485通信,数码管实现四位动态扫描显示,按键模块具备消抖功能,LCD屏驱动支持多种数据显示。主循环采用非阻塞式时序调度,实现多任务协调运行。文中还指出了按键引脚定义
整个编译过程涉及三类文件,第一类是c源文件,位于各个目录下,第二类是汇编文件startup_stm32f103xe.s,第三类是编译器所携带的库文件,在这个项目中对应的文件为c_w.l,位于Keil IDE的安装目录下。在启动至mian函数的整个过程如下图所示,首先是执行reset_handler函数,如果有MMU/MPU则要在调用_main之前配置完成,接下来是执行C库中的函数,完成代码的拷贝,
本文设计了一种基于STM32的汽车水温及车内温度监测系统。系统采用NTC热敏电阻和数字温度传感器采集数据,通过STM32的ADC模块实现高精度测量(±0.5℃)。核心功能包括实时显示、声光报警(85-105℃阈值)、数据存储和联动控制接口。采用滑动平均滤波算法处理数据,响应延迟≤0.5秒。相比传统方案,本系统具有精度高、响应快、成本低等优势,可有效预防发动机故障并提升驾驶舒适性。未来可扩展远程监控
在裸机系统中,全局变量,局部变量,中断返回等都存储在一个叫栈的地方。栈其实就是单片机RAM中一段连续的内存空间,其大小一般在启动文件中或者链接脚本中指定,最后由C库函数_main进行初始化。然而,多任务系统中,每个任务都是独立的,互不干扰的,因此需要为每一个都分配独立的栈空间,这个栈空间通常是一个预先定义好的全局数组(静态创建),也可以是动态分配的一段内存空间(动态创建),这些栈空间都储存在RAM
当实时操作系统遇上分布式AI,会碰撞出怎样的火花?本文记录了我用RT-Thread实现的一个时间触发联邦学习边缘节点原型,包含内存优化、安全时间锁、动态负载分配等硬核技术,带你从零构建一个可运行的嵌入式AI框架。
本文设计了一种基于STM32L431RCT6单片机的智能垃圾桶系统,通过模块化架构实现"感知-判定-执行-预警"闭环控制。系统采用红外传感器实现自动开盖,超声波传感器检测垃圾满溢状态,语音模块提供分类指引,并具备一键打包功能。测试表明,开盖响应时间≤0.5秒,高度检测误差±2cm,语音识别率≥92%,锂电池可续航15天。系统解决了传统垃圾桶卫生性差、管理不智能的问题,后续可增加
本文详细介绍了STM32Cube AI Studio的使用方法。作为ST推出的新一代AI工具,它替代了X-CUBE-AI,支持模型导入、量化、优化和验证。文章从软件安装、环境配置开始,逐步演示了创建工程、导入模型(支持ONNX/TFLite/Keras格式)、配置参数、运行验证等操作流程,并展示了模型性能分析结果和代码生成功能。该工具整合了STM32开发者云的优势,简化了边缘AI开发流程,适用于不
本文介绍了在Arch Linux系统下搭建STM32开发环境的完整流程。主要包括:1)通过JetBrains Toolbox安装CLion IDE;2)安装stm32cubeclt工具链时遇到依赖问题的手动解决方法;3)安装STM32CubeMX配置工具;4)详细说明如何在CLion中创建STM32项目,包括芯片选择、调试设置、项目生成等步骤;5)最后配置调试服务器实现程序烧录。文章提供了完整的命
本文介绍了一个名为GaryCLI的开源项目,这是一个能够全自动完成STM32嵌入式开发流程的AI智能体。GaryCLI通过大模型+FunctionCalling技术,实现了从自然语言需求到硬件运行的完整闭环,包括代码生成、交叉编译、物理烧录、运行验证和自动调试。与现有AI编程助手不同,GaryCLI具备硬件感知能力和自愈功能,能通过读取寄存器诊断问题并自动修复。文章详细解析了其四层架构、核心算法、
前言 上一篇已经介绍过TMC2208/2209模块的概述,两者区别,性能参数以及驱动电流的计算,就不再多赘述。不清楚的可参考这篇文章。https://yourcee.blog.csdn.net/article/details/150776680?spm=1011.2415.3001.5331 TMC2208/2209模块除了通过外部硬件控制驱动,还可以通过串口配置寄存器实现转速,方向,细分等设
ROS2深度解析:从嵌入式到机器人开发的通信革命 本文系统剖析了ROS2的核心架构与技术突破: 颠覆性改进:ROS2采用去中心化的DDS协议替代ROS1的Master节点架构,解决了单点故障问题 军工级通信:详解DDS的P2P通信机制和四大QoS策略(可靠性/历史记录/截止时间/活跃度) 嵌入式适配:介绍micro-ROS如何让STM32等MCU成为原生ROS2节点 实战演示:通过C++代码展示企
摘要: 本文设计了一套基于STM32与云平台的智能温室大棚控制系统,采用三层架构实现环境参数采集、本地智能调控与云端远程管理。系统硬件以STM32F103为核心,集成温湿度、光照等传感器及执行设备驱动模块,通过4G模块实现数据交互;软件层面开发本地嵌入式控制程序与云端可视化平台,支持阈值触发式自动调节与远程监控。测试表明,系统环境参数误差小(温度±1℃)、响应快(≤2秒),应用后水肥利用率提升20
本文介绍了一个基于STM32与深度学习的口罩佩戴检测系统,该系统结合硬件设计与软件算法实现实时检测功能。系统采用STM32作为下位机主控,通过WiFi模块接收上位机传输的检测结果,并驱动OLED显示和蜂鸣器报警。深度学习部分使用YOLOv5模型,在8535张标注数据集上训练,最终验证集准确率达97%。项目创新性地将嵌入式硬件与AI技术结合,具有较高的实用价值和毕业设计参考意义,综合评分:难度3分,
摘要:本文详细介绍了DS3553智能计步传感器的开发流程。首先通过查阅数据手册明确芯片原理,包括I2C通讯协议(地址4E/4F,100kHz速率)和寄存器配置。在STM32开发中,使用CubeMX配置I2C引脚(PB6/PB7)、中断引脚(PA12)和片选引脚,生成代码框架。开发过程包括创建驱动文件、添加编译路径,并实现初始化函数(配置USER_SET寄存器为0x1A)和步数读取函数(读取24位步
(1)OTA Flag的定义:①在main.h文件中定义OTA信息相关结构体,其中包含成员OTA Flag。#define OTA_SET_FLAG 0xAABB1122 //FLAG为该值时代表OTA Flag置位②在main.c文件中定义OTA信息相关结构体变量。(2)在AT24C02.c文件中增加读取OTA信息相关结构体的函数,并在AT24C02.h文件中声明。OTA信息相关结构体存储在AT
项目生成后我们用keil5打开项目后发现当前项目于先前的项目不同的地方在于多了一个新的文件夹,文件夹中的文件都为与AI模型相关的文件因此我们只需要了解新增文件中的内容就可以轻松实现AI模型的调用文件:这两个文件的名称与我们在添加AI模型时自定义的AI模型名称相同,因此不难推出这两个文件中存储了AI模型的相关信息,其中C文件中存储了模型的结构、接口函数的实现代码,头文件中声明了模型的接口函数、宏定义
本文基于STM32F030开发板设计环境监测传感器程序,实现远程控制蜂鸣器/LED和采集光敏/可调电阻电压功能。硬件配置包括GPIO输出和ADC输入,需启用离散转换模式保障多通道采集稳定性。程序通过Modbus协议与PC通信,定义点表明确寄存器地址与功能。代码实现包含ADC校准、DO外设控制及AI电压采集,采用宏定义区分传感器类型。测试使用Modbus Poll验证功能,确保环境监测数据准确传输与
本文探讨了如何在8字节CAN报文限制下实现复杂工业控制,重点解析了CANopen协议的核心机制。通过引入"对象字典"概念,CANopen将设备参数组织为索引化结构,解决了大数据量传输问题。文章详细介绍了SDO(分段传输配置数据)和PDO(实时控制数据)两种通信模式,并展示了企业级应用中CANopenNode协议栈的使用实例。最后指出CANopen在传统工业控制的优势,同时预告了
MDK编码为UTF-8,所以源代码中的中文字符串是UTF-8编码。在终端设置(Terminal settings)中,找到终端字体(Terminal font)下的编码(Encoding)。在终端(Terminal)设置中,找到外观(Appearance)下的字符编码(Character encoding)。按照以上步骤配置后,四个工具将统一使用UTF-8编码,彻底解决中文乱码问题,并确保团队协作
本文介绍了MQTT协议在物联网领域的核心优势和应用要点。MQTT采用发布/订阅模式,通过Broker服务器实现设备间高效通信,相比HTTP轮询大幅节省资源。其极致轻量的报文结构(仅2字节头部)特别适合低功耗设备。重点解析了MQTT三大核心机制:QoS服务质量保障(0-2级可靠性)、RetainedMessage保留消息实现状态同步、LWT遗嘱消息处理异常断连。文章还指出了嵌入式开发中的常见坑点(如
本文介绍了将AI模型部署到单片机的完整流程,主要分为8个步骤:1)数据采集,强调真实性和全面性;2)数据预处理,需保持PC端与MCU端一致性;3)模型设计,需考虑MCU资源限制;4)评估优化,关注模型大小、内存和时延等;5)模型转换,将TensorFlow转为TFLite格式;6)部署模型,使用TensorFlow Lite Micro在MCU运行。重点讲解了数据采集的关键作用、预处理的重要性以及
本文介绍了如何利用AI辅助编写STM32蜂鸣器驱动代码。首先通过淘宝了解蜂鸣器模块的基本参数(3引脚,高低电平控制),然后使用Gemini AI生成驱动代码。文章提供了详细的提示词模板,展示了AI生成的蜂鸣器驱动库(buzzer.h和buzzer.c),包含初始化、简单鸣叫、复杂模式和强制停止等功能,支持高低电平触发配置。该代码可直接移植使用,体现了新时代AI辅助编程的高效性。
从下面图片可以看出,Flash和RAM的实际占用大小如下:Flash 实际占用 = text + data = 156812 + 108 =156920 字节(≈153.24 KB)RAM 实际占用 = data + bss = 108 + 5128 =5236 字节(≈5.11 KB)在STM32F103运行正弦波模型这件事,证明了下面两点。
本文设计了一种基于STM32单片机的便携式肺活量测量装置。系统采用STM32F103C8T6作为核心控制器,通过差压式流量传感器采集气流信号,经ADC转换后由积分算法计算肺活量值。装置具备数据存储、阈值预警、蓝牙传输等功能,OLED屏显示测量结果,支持历史数据查询。测试表明,测量误差≤±5%,续航8小时,适用于家用和校园场景。相比传统设备,本设计具有体积小、精度高、操作简便等优势。未来可增加语音播
为了避免调试期间频繁地手动操作,我们可以在程序开跑后、USB初始化前,用代码把PA12置低,使D+线为低电平,持续一段时间,模拟USB拔出动作,令主机认为设备已断开连接,释放端口;然后,当程序运行到后面的USB初始化函数时,PA12会被正常配置(DP线电平被置高),USB主机就会"发现"有设备插入,开始尝试枚举、配置;在main.h中,大约38行,找到 配对的注释行 /* USER CODE BE
书匠策AI不是要“替代人类思考”,而是通过技术赋能,让本科生从重复劳动中解放出来,将更多精力投入创新与批判性思考。访问官网,或微信公众号搜一搜“书匠策AI”,开启你的智能科研之旅——让每一篇本科论文都成为思想与技术的完美共舞!
基于STM32F103与ESP32-S3双核架构(STM32和ESP32是单片机初学的两大经典),今天为大家带来一款了全面覆盖单片机物联网学习路径的综合性AIoT实战平台,该平台配套从单片机裸机开发(初级)到RTOS实时操作系统(中级),再到LVGL图形界面设计与AIoT物联网应用(高级)的完整技能进阶路线及学习资料,无论是作为单片机与物联网方向的综合项目练手、毕业设计课题,还是用于高校嵌入式系统
本文介绍了一个基于STM32与深度学习的口罩佩戴检测系统毕业设计项目。系统采用STM32作为下位机主控,通过WiFi模块接收上位机传输的检测结果,实现OLED显示和蜂鸣器报警功能。深度学习部分使用YOLOv5模型,在8535张标注数据集上进行训练,准确率达到97%。项目创新性地结合嵌入式硬件与AI技术,构建了一套完整的口罩检测门禁系统,具有较高的实用价值和毕业设计参考意义。系统硬件包括STM32开
小智AI智能风扇项目》硬件平台包括。
小智AI智能灯项目》硬件平台包括。