登录社区云,与社区用户共同成长
邀请您加入社区
【摘要】物理AI产品面临的核心挑战在于必须在严格时序约束内完成确定性运算。本文通过智能耳机、配送机器人和无人机等案例,揭示了物理AI区别于云端AI的关键特征:硬实时性、低时序抖动和多模态同步。以智能眼镜的语音增强功能为例,10ms端到端时延预算被分解为确定性处理链路,其中AI模型推理必须在3-4ms最坏时延内完成。物理AI的设计准则强调:1)关注最坏时延而非平均值;2)控制时序抖动;3)确保多传感
摘要:嵌入式开发学习不必追求掌握全部知识,而应通过实践项目逐步积累。建议初学者选择一个具体项目目标(如温湿度计、自动浇水装置等),围绕需求学习相关技能(C语言、开发工具、外设等),在解决实际问题中构建知识网络。这种"做中学"的方式比传统知识点堆砌更高效,能避免枯燥并增强记忆。资深工程师也是在工作中持续成长,关键是先掌握必要知识进入行业。
摘要:RTOS(实时操作系统)通过任务优先级调度确保实时性,适用于嵌入式开发。相比裸机开发,RTOS提供模块化、高并发、强实时性等优势,并支持高级组件和统一接口,提升开发效率。FreeRTOS作为主流RTOS,具有开源免费、可裁剪、高效调度等特点,内核小巧且功能丰富,适用于资源有限的微控制器。其代码结构清晰,包含任务管理、事件处理、定时器等模块。随着AIoT和工业4.0发展,FreeRTOS凭借多
iMLite Map3.0嵌入式离线地图技术突破四大行业困境:1)自研场景化矢量压缩算法,实现地图体积近百倍缩减至10MB级;2)基于BLE蓝牙的分片传输与增量更新技术,实现零硬件成本更新;3)全栈开发套件将适配周期从12个月压缩至2个月;4)集成端侧全离线导航算法,支持无网环境下的安全导航。该方案通过存储、传输、开发、体验四个维度的创新,使高性能离线地图首次实现低成本普惠化,推动智能穿戴进入"场
是stm32cubemx自动在工程文件下生成的,帮我们省了很多力气。vscode编辑代码,编译烧录到powershell,实现轻量化。记得添加到环境变量,这样命令行才能执行你输入的命令。下载安装好编译工具链,除了clion一个都不能缺!
博世BMI055是一款高性能6轴惯性测量单元(IMU),集成了三轴加速度计和三轴陀螺仪,提供完整的六自由度(6DoF)感知能力。该器件采用LGA-16封装(3.0×4.5×0.95mm),具有可编程量程(加速度计±2g至±16g,陀螺仪±125°/s至±2000°/s)和数字接口(I²C/SPI)。其12位加速度计和16位陀螺仪支持8Hz-1kHz带宽,工作电流仅130μA,待机电流62μA,适用
本文介绍了嵌入式菜单库中变量绑定系统的核心设计,通过联合体(union)统一处理13种数据类型,实现菜单项与内存变量的直接交互。系统采用类型枚举区分数值型和行为型菜单项,每个类型独立API确保编译期类型安全。核心创新点是利用宏生成的MenuADDK统一处理9种数值类型的加减运算,通过参数化联合体字段名实现类型通用操作。该系统解决了原型阶段显示与编辑分离、类型不安全的问题,使菜单项能自动调整绑定变量
本文介绍了嵌入式系统中构建按键响应系统的关键技术。首先分析了机械按键的抖动问题,提出基于积分器的消抖算法,通过不对称阈值设计确保可靠性。接着详细讲解了长按检测的实现机制,包括首次触发和重复触发的时序控制。文章还介绍了键值动态映射方案,通过弱定义函数实现编辑态下的按键行为重映射。整个系统采用事件驱动架构,结合环形队列处理事件流,解决了嵌入式环境下实时响应与资源受限的挑战。这些技术为构建可扩展的嵌入式
摘要:回调函数是嵌入式开发中实现解耦的关键技术,通过函数指针将业务逻辑动态绑定到硬件中断或事件。实现步骤包括:定义函数指针类型、声明全局指针变量、在中断服务中触发回调、实现具体功能函数并注册。其核心价值在于分离硬件驱动与业务逻辑,典型应用于外设驱动、RTOS任务和传感器数据场景。工程实践中建议采用参数化设计、空指针检查及多回调管理机制,以提升代码灵活性和安全性。这种模式显著增强了嵌入式系统的模块化
本文介绍了51单片机基础IO控制,包括LED点亮、闪烁及按键交互的实现方法。主要内容为:1) LED控制原理(低电平点亮);2) 利用延时函数实现LED闪烁;3) 按键检测与消抖处理;4) 单/双按键控制LED亮灭及状态切换;5) 进阶练习题目。核心知识点涉及sbit定义、电平控制、延时函数应用和按键状态管理,为单片机入门提供了基础实践示例。
ESP32-S3健康监测手环开发实战
本文介绍了STM32F407ZGT6微控制器中ADC(模数转换器)的基础知识。该芯片包含3个12位ADC,支持独立、双重和三重工作模式。文章详细解析了ADC功能框图,包括电压输入范围(0-3.3V)、19个输入通道(16个外部+3个内部)、规则/注入通道的转换顺序设置、多种触发源选择、转换时间计算(采样周期3-480个ADC时钟周期)以及数据寄存器的使用方法。同时介绍了中断处理机制(转换结束、模拟
本文介绍了STM32F0系列微控制器的三个重要模块应用。首先详细讲解了DAC模块的两种启动方式(触发与非触发)及其配置方法,通过LED演示了DAC输出效果。其次阐述了模拟比较器的工作原理,包括其窗口模式、迟滞特性及低功耗应用场景,并以光敏电阻监测为例说明具体实现。最后重点介绍了RTC模块的功能特性,包括日历功能、报警机制和三种时钟源选择,详细说明了初始化流程、写保护机制以及时间校准方法。全文通过具
嵌入式开发中Keil编译生成的文件详解 本文系统梳理了Keil开发环境下各类编译生成文件的核心作用与实用价值。从工程配置类的.sct分散加载文件和.uvprojx工程文件,到编译中间产物.i预处理文件和.s汇编文件,再到链接阶段生成的.o目标文件和.axf调试镜像,最后到量产固件.hex/.bin文件,完整呈现了嵌入式程序从源码到可执行文件的转换链条。重点解析了.map内存映射文件的结构与调试价值
Freertos任务创建原来做了这些事
嵌入式菜单库可视化组件设计 本文介绍了在128×64单色OLED屏上实现图表、图片和控件的关键技术方案: 双缓冲图表系统:采用数据缓冲与显示缓冲分离设计,通过memcpy同步数据,自动计算极值范围,支持折线图和散点图叠加显示 高效位图处理:使用XBM格式存储图标,每个字节编码8个横向像素,支持Flash存储和外部存储器加载两种方式 控件归一化设计:滑块和进度条采用0-1归一化接口,可绑定实际变量值
面对“几个阶段来回切换”的需求,用flag和定时器写一套状态机是几乎本能的反应。但当任务的复杂度稍微增加——互补时序、闪烁效果、精确周期要求——这种直接映射就显现出它的脆弱。优化的实质是做了一个关注点分离任务调度器只负责“时间的推移和任务的按序触发”;硬件抽象层LED_EWLED_SN)负责屏蔽寄存器细节;任务回调只负责“在某个时间点执行什么动作”。由此,“什么时候做什么”这一信息从过程式代码中抽
本文介绍了嵌入式菜单库中几个关键交互功能的实现方法: 多级菜单导航系统:通过固定深度的函数指针数组模拟调用栈,实现类似浏览器的前进/后退功能,同时防止循环引用导致的无限堆叠。 动画效果系统: 提供可替换的动画接口,支持自定义效果 默认实现包含展开动画和平滑滚动效果 滚动速度根据选中项位置动态调整 消息框超时机制:基于简单的计时器实现自动关闭功能,不依赖操作系统定时器。 这些功能将基础菜单升级为具有
学会了使用wildcard自动查找src目录下所有.c文件;学会了使用patsubst自动将.c文件列表转换成.o文件列表;理解了模式规则;理解了自动变量$<和$@的作用;学会了使用一条规则编译多个.c文件;验证了 Makefile 的增量编译机制;理解了修改单个.c文件后,只需要重新编译对应.o文件;进一步理解了真实 C 工程中的自动化构建流程。Makefile 自动查找源文件,自动生成目标文件
摘要: 本文针对嵌入式RTOS项目中常见的多任务并发问题,提出了一套基于FreeRTOS的量产级解决方案。重点解决双核调度混乱、优先级冲突、共享资源竞争、死锁等稳定性痛点,核心内容包括: 双核分工规范:PRO核(Core0)专用于高实时硬件任务,APP核(Core1)处理业务逻辑,严格隔离底层与业务层。 五级优先级体系:按硬件>业务>后台划分8个优先级等级,确保关键任务不被阻塞。 共享资源保护:提
本文介绍了STM32微控制器的GPIO(通用输入输出口)基本原理和使用方法。从GPIO概念、工作模式(输入/输出/复用/模拟)到寄存器操作,详细讲解了如何通过HAL库和直接操作寄存器两种方式控制GPIO。重点包括:推挽输出控制LED的硬件接线(需限流电阻)和软件实现,HAL库常用函数,以及新手常见问题排查。文章强调时钟使能、BSRR寄存器操作等关键点,并提供了完整的LED闪烁示例代码。掌握GPIO
本文介绍了基于STM32F103C8T6开发板的Modbus RTU从站协议栈实现。项目支持03(读取保持寄存器)和06(写入单个寄存器)功能码,包含CRC16校验、寄存器读写等核心功能。硬件采用RS485模块进行工业级通信,软件架构清晰,代码可直接移植到实际工业项目中。通过定义寄存器地址映射和协议解析逻辑,实现了与Modbus Poll等主站工具的数据交互,为嵌入式工程师提供了完整的Modbus
本文介绍了基于STM32的GPIO输出功能实现LED流水灯实验。首先概述了GPIO的基本概念和输入输出功能,重点讲解了输出模式的控制原理。通过原理图分析LED连接方式,详细说明了在STM32CubeMX中配置GPIO引脚为输出模式的步骤。文章重点解析了两个关键函数:HAL_GPIO_WritePin()用于控制引脚电平,HAL_Delay()实现毫秒级延时。最后展示了主函数中实现三色LED交替点亮
本文介绍了STM32中GPIO输入功能的应用,重点讲解按键检测的实现方法。首先概述了GPIO的基本功能,包括输入检测外部电平和输出控制设备状态。然后详细说明了按键消抖原理,并通过原理图展示了硬件连接方式。在工程创建部分,演示了如何配置GPIO引脚为输入模式并设置下拉电阻。文章重点讲解了HAL_GPIO_ReadPin函数的工作原理,该函数用于读取GPIO引脚状态。最后给出了完整的代码示例,实现通过
本文介绍了STM32串口通信的基本原理与HAL库实现方法。主要内容包括:1)串口通信分层模型(物理层与协议层),物理层涉及TTL与RS-232电平标准转换;2)协议层数据包格式(起始位、数据位、校验位和停止位);3)通过STM32CubeMX配置USART1为异步模式,设置波特率115200;4)使用HAL_UART_Transmit()函数实现单字节和字符串发送;5)通过重写fputc()函数实
本文介绍了STM32中SysTick系统定时器的原理与应用。SysTick是CM3内核内置的24位递减计数器,通过系统时钟驱动实现精确计时,具有跨芯片型号的通用性。文章详细讲解了其工作原理:从重装载值开始递减,归零时触发中断并自动重载,形成周期性定时。通过HAL库配置SysTick为1ms时基源,并在中断服务函数中实现500msLED翻转功能。实验展示了如何利用SysTick中断构建系统时基,完成
摘要:本章详细介绍了STM32F0系列微控制器的12位DAC模块功能及编程方法。该模块包含双通道DAC,支持8/12位模式,可与DMA配合使用。重点阐述了DAC内部结构、数据格式(8/12位对齐)、触发方式(软件/硬件)及转换时序。此外还介绍了噪声波和三角波的生成原理,以及双通道同步转换的实现方法。通过寄存器配置和代码示例,展示了如何实现DAC通道的独立触发、波形生成等功能。该DAC模块具有灵活的
列表中的任务按优先级排序。这里需要注意一点的是,在xQueueCreate函数中malloc队列的函数不单单知识队列的大小,同时还包结构体的大小。2.将任务加入延迟列表,这里就是从Ready List移除,添加到Delay List。2.将任务加入延迟列表,这里就是从Ready List移除,添加到Delay List。2.将任务加入就绪列表,这里就是从Delay List移除,添加到Read L
本文介绍了如何为STM32F030F4P6开发项目配置开发环境。作者推荐使用ST官方提供的免费工具STM32CubeIDE,详细说明了从搜索下载、账号注册到安装配置的全过程。文章强调该IDE集成了代码编写、编译、下载和调试功能,适合初学者使用,并提醒安装时避免中文路径。通过本文,读者可以顺利完成开发环境的搭建,为后续实际编程工作做好准备。整个安装过程比想象中简单,只需按照步骤操作即可完成。
摘要: 嵌入式培训行业面临“学完找不到工作”的困境,核心在于教学与产业需求脱节。多数机构停留在“开发板实验”层面,而企业需要的是量产项目经验(如汽车电子、新能源等)。郑州金橙智能技术有限公司采用差异化模式:以真实量产项目为教材,由一线工程师授课,坚持小班手把手教学。其学员因具备完整项目经验,就业薪资显著高于行业水平(部分达15K-20K)。行业启示:培训的核心是打通量产项目经验,而非技术名词堆砌。
Letter Shell:嵌入式系统的交互式命令行解决方案 Letter Shell是一个轻量级命令行框架,专为嵌入式系统设计,解决了传统调试中反复烧录的痛点。它赋予MCU终端交互能力,支持动态指令执行、变量查看和实时调试,具备自动补全、参数解析等高级功能。 核心优势: 极简集成:只需添加源码并配置shell_port.c文件 丰富功能:支持命令补全、快捷键、权限管理、变量读写 灵活扩展:可自定义
这篇PCB设计笔记归纳了电路板布线的核心要点和实用技巧。文章首先强调布线对电路稳定性的关键影响,随后系统介绍了布线规范:包括走线角度要求、去耦电容布局、高频信号防护等基本原则。接着详细讲解EDA工具操作技巧,如隐藏飞线、自动泪滴、差分布线等功能的使用。针对过孔设计、晶振屏蔽、多层走线等难点提供具体解决方案,并提出层间正交布线、电源线宽控制等优化建议。最后给出标准布线流程和22条设计总结,涵盖从信号
本文系统介绍了嵌入式开发中的文档编写规范,包括代码注释、函数文档、设计文档和API文档的编写方法。主要内容包括:1)代码注释原则与Doxygen格式规范;2)函数文档的详细模板和实际示例;3)软件设计文档的完整模板;4)API文档生成与用户手册编写技巧。通过规范化的文档编写,可显著提升代码可读性、降低维护成本并促进团队协作。文章提供了可直接套用的模板和示例代码,帮助开发者快速掌握嵌入式开发中的专业
STM32系列MCU中,很多系列集成了硬件过采样单元,通过过采样可以实现对数据的平均滤波,改善数据的信噪比从而提升采样精度,本文对硬件过采样单元的功能进行介绍,并给出一个实际的应用案例。
如何在STM32Cube CMake工程中添加源文件
本文介绍了基于STM32的LCD显示与按键控制实现。主要内容包括:1)通过STM32CubeMX配置GPIO引脚;2)实现按键检测功能,包含下降沿、上升沿和长按三种触发方式;3)LCD界面切换控制,展示不同显示模式;4)提供完整代码下载链接。文章详细说明了按键状态检测算法和界面切换逻辑的实现方法,适用于蓝桥杯嵌入式竞赛相关开发。
本文是蓝桥杯嵌入式竞赛的备赛指南,主要介绍竞赛涉及的硬件模块和开发流程。内容包含:1)17届竞赛大纲涉及的10个考点模块;2)赛点提供的开发环境和资源包;3)4T评测网的使用方法及评分标准;4)代码烧录、脉冲捕获、串口通信等模板的补充说明;5)备赛建议和参考资料推荐。文章强调以程序题实践为主,提供了多个B站UP主的教学视频链接,建议通过练习历年真题来提升竞赛成绩。
本文介绍的应用属于BootFlash 应用,完整的BootFlash应用工程包括子启动子工程FSBL,应用子工程Application, 另外由于需要将二进制代码文件烧录到外部Flash,还包含一个ExtMemLoader 子工程。
mcu
——mcu
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net