登录社区云,与社区用户共同成长
邀请您加入社区
AI自动生成Commit信息正成为开发者新选择,通过Codex等模型解析代码变更(diff)并生成规范描述,能显著提升提交效率、统一团队规范。实践方案涵盖命令行工具、IDE插件及CI/CD集成,支持自定义提示词优化输出。但全自动化存在准确性误判、敏感信息泄露等风险,需建立"AI生成+人工复核"的协同机制,对核心变更保持人工干预。未来AI或拓展至代码审查等更多场景,但当前阶段开发
不是所有标有“SPI”的高速接口都能直接当作 QSPI 使用。MCU QSPI×MCP2518FD就不能因为 QSPI 有 4 根数据线,就直接把 MCP2518FD 当成 Quad SPI 设备连接。MCP2518FD 的主机接口仍然是传统 SPI,最高 20 MHz。MicrochipSPI、QSPI、OSPI 虽然都属于串行接口,但是否兼容必须看 Master 和 Slave 双方支持的具体
Claude Code 和 Codex 在大方向上相似:都是项目级 Coding Agent,而不是专门为 MCU 设计的工具。Anthropic 官方强调 Claude Code 可以读取代码库、跨文件修改、执行命令和测试,并通过 CLAUDE.md、Skills、Hooks、Plugins、Subagents 和 MCP 把团队知识与外部系统接进来。这套机制对嵌入式开发非常有吸引力,因为固件团
题目:简述 C 语言中全局变量的优缺点,嵌入式单片机开发中如何减少全局变量滥用?答案: 优点:整个程序任意函数均可访问,生命周期全程有效,可替代静态局部变量传递数据。缺点:全部共享访问,多中断 / 多任务易数据冲突;嵌入式开发有什么用途?答案: void* 通用无类型指针,可以接收任意类型数据的地址,无法直接解引用。用途:实现通用函数,如。限制:解引用、指针运算前必须强制转换为具体类型;题目:me
本文介绍了通过STM32CubeMX配置串口DMA实现数据发送到Vofa+上位机显示波形的方法。主要内容包括:1)使用CubeMX配置USART1为只发模式并启用DMA和中断;2)编写相关代码实现数据更新和发送功能,通过memcpy打包浮点数据并附加帧尾;3)在Vofa+上位机中接收并显示5个通道的测试数据(1-5)。该方法实现了STM32与Vofa+的通信,为数据可视化提供了一种高效解决方案,适
摘要: 本文系统讲解了STM32 DMA的核心概念与工程应用,重点解析三大工作模式(普通/循环/内存拷贝)和四种传输方向(外设↔内存、内存↔内存)。DMA通过硬件自动搬运数据,大幅降低CPU负载,适用于高速、连续数据传输场景。普通模式适合一次性任务(如ADC采样),循环模式适合流式数据(如串口持续接收),内存模式(Mem2Mem)可替代memcpy。文章结合代码示例详解外设收发配置,并指出循环模式
在工业控制场景下,需要的是对现场传感器的精确采集转换,进一步精确控制现场设备,考虑现场及转换过程中的各种误差因素,的电路基本一致,可以不用上拉电阻,但要加参考电压,参考电压的精度直接影响转换精度。信号到了控制板之后,怎么转换成单片机能够识别的数字量?后续干货不断,咱们一起在单片机的世界里,共同进步。以内的精密金属膜电阻,阻值误差直接影响采集精度。,不需要外部参考电压和放大电路,外围元件极少。采集这
本文针对STM32 M4/M7内核使用SDRAM时的典型问题(HardFault与数据不一致),从硬件访问规则和内存配置两个维度深入分析。核心要点包括:1)必须保证16位以上数据对齐,避免8位非对齐访问;2)MPU配置中内存类型(强序/设备/常规)与Cache策略(写透/写回)的匹配原则;3)特殊场景下memcpy等函数的4字节对齐要求及解决方案。文章提供完整的故障排查路径,并针对不同应用场景(普
相信不少嵌入式开发者都有过这样的经历:让AI助手帮忙写一段nRF Connect SDK的代码,结果生成的代码要么API已经废弃,要么DeviceTree节点配置完全错误,甚至直接“ hallucinate”(幻觉)出一些根本不存在的功能模块。这不是AI不够聪明,而是它缺少。
本文介绍了在C语言中通过函数指针结构体实现面向接口编程的方法。核心思想是定义一个包含函数指针的结构体(如Hal_CommcProtocFuncInfoHandle),描述通信协议的基本操作接口。具体协议(如UART、CAN)分别实现这些函数,并注册到结构体中。上层应用通过统一的接口指针调用,不直接依赖具体实现,从而实现解耦。文中还展示了带上下文指针的工程化实现,支持多实例,并通过封装层提高调用安全
本文介绍了基于VScode和EmbeddedIDE插件开发MSPM0嵌入式项目的完整流程。主要内容包括:1)VScode环境配置,安装EIDE插件及编译工具链;2)通过Keil创建基础项目框架并导入VScode;3)使用SysConfig生成外设配置文件;4)详细说明项目设置、编译链配置和调试方法;5)提供LED和串口测试代码示例。相比传统Keil开发,该方案具有启动快速、代码管理方便等优势,特别
MCPIOT推出的+3+1全能串口中枢,是一款集扩展坞、串口网关和边缘控制器于一体的可编程硬件设备。该产品具有3个USB3.0接口、集成485/232/TTL三种串口协议和独立Type-C PD供电,采用弹簧按压式快速接线端子设计,支持脱机运行和JS二次开发。 通过实测展示了三种典型应用场景:家庭露营时独立控制灯带、研发调试时作为多设备通信测试台、工业现场实现设备定时控制。其核心价值在于内置可编程
Typora 是一款广受欢迎的 Markdown 编辑器,以其简洁的界面和流畅的实时预览体验著称。虽然 Typora 本身功能强大,但通过插件开发,用户可以进一步扩展其能力,实现自定义的自动化处理、格式转换、内容增强等高级功能。本文将详细介绍 Typora 插件开发的基本原理、环境搭建、核心 API 以及实战案例,帮助你从零开始构建自己的 Typora 插件。Typora 通过全局对象typora
模型和推理引擎都就位了,传感器数据怎么喂进去?以一个三轴加速度传感器检测震动异常为例:MCU通过SPI读取ADXL345的数据,每读一组xyz就塞入一个环形缓冲区。攒够窗口长度(比如64个采样点),做一次简单的归一化——把原始值映射到模型输入要求的[-1, 1]区间——然后memcpy到interpreter的input tensor。i++) {Invoke()返回后,output tensor
这是一个宏,它的关键内容是定义了一个;{ \} \{ \} \{ \} \{ \} \{}, \会和设备树里的带有属性的节点匹配上,触发。FBTFT框架是一个基于fbdev的辅助框架,专门为小尺寸SPI/并口LCD控制器(如ST7735ILI9341SSD1306等)设计,其与维度FBTFT层次底层框架基于 fbdev 的中间件复杂度需要实现完整的fb_ops只需配置结构体,框架代劳适用范围所有显
F28P55x 上 CLA Task 共享变量始终为 0、CLA 不运行的排查记录。重点解析 LS8 做程序 RAM 时 CPU 与 CLA 的地址双映射(差 0x10000),以及 memcpy 必须在 MEMCFG 配置前执行、需在 main 中重写初始化的两个关键坑。
本文介绍了硬件签名器项目的第二阶段开发,重点围绕三个基础模块:锂电池充电管理、电池电压监测和外部SPI Flash存储。通过MCP73831芯片实现USB-C充电输入和电池供电切换,采用电阻分压电路进行电池电压监测,并集成64Mbit SPI Flash用于存储非敏感数据。这些模块为后续MCU、安全芯片等核心功能提供了电源管理和本地存储基础。文章详细说明了各模块的设计原理、信号连接和实现要点,同时
本文详细介绍了如何利用MCP23017 I2C扩展芯片解决ESP32-S3开发板GPIO不足的问题,实现五路红外循迹小车的开发。文章从红外循迹模块的工作原理讲起,重点解析了可调电阻的作用原理与校准方法,提供了完整的硬件接线方案和代码实现。特别强调了逻辑编号与物理位置的对应关系,以及电平转换注意事项。通过详细的代码注释和状态判断逻辑,帮助开发者快速排查接线方向问题。最后给出了具体的校准步骤和常见问题
本文总结了蓝桥杯嵌入式开发中STM32G431RBT6的关键模块实现方法。主要内容包括:1)使用CubeMX配置串口通信,实现异步收发和中断处理;2)定时器配置要点,包括预分频值和自动重装值计算;3)PWM输出和输入捕获的实现,特别注意LED控制与LCD引脚冲突问题;4)ADC电压采集的12位分辨率数据处理;5)按键扫描与检测的编程技巧;6)RTC实时时钟的配置和使用注意事项;7)I2C接口的AT
摘要:本实验报告包含两个核心实验内容:一是基于MCP41010数字电位器的可变增益放大电路实现,通过单片机SPI接口控制增益交替变化(实测增益-1.89和-3.62),分析发现器件参数偏差(电位器实测10.8kΩ)是误差主因;二是LCD1602液晶显示驱动实验,实现了基础字符显示、自定义字符(加点数字)生成及滚动显示功能,详细阐述了CGRAM字模定义(5×8点阵)和DDRAM地址映射方法。实验涉及
MCP4822芯片基本STM32F103的驱动代码
注意:本程序中IIC搭载了6块MCP4661,通过A2、A1、A0来区别硬件地址(上电时地址自动锁存)。需区别正常命令读写和高压命令的读写,高压命令需硬件操作HVC的电平。
由于 Keil 工程中遗留的 HAL 库与模板生成的 HAL 库版本或配置可能存在差异(例如本次项目中遇到的 `HAL_MPU_ConfigRegion` 形参 `const` 冲突),**必须使用 CubeMX 生成的最新 HAL 库(包含 `Src` 和 `Inc`)完全覆盖** 目标工程中的对应文件,以确保接口严格一致。定义 `CC` (gcc)、`AS` (汇编器)、`LD` (链接器)
确定电源→ 单/双电源、电压范围 → 缩小候选确定信号类型→ 频率、幅度、阻抗 → 确定类别查对照表→ 找具体型号,对比 Vos/GBPW/SR/Iq场景推荐型号预算通用精密OPA2188¥3~5通用便宜MCP6002¥0.5~1高速 ADC 驱动THS3001¥8~15选型是第一步,选对了后面省很多事。你被哪颗运放坑过?留言区聊聊。下期预告:轨到轨运放的真实限制——输出摆幅≠电源轨。
明确无内存重叠:优先使用 memcpy,最大化拷贝效率,适配常规数据复制场景;内存未知/存在重叠:统一使用 memmove,牺牲微小效率换取程序稳定性,规避数据异常;裸机开发必须添加空指针校验、长度边界校验,杜绝硬件异常与内存踩踏;数组、缓冲区、普通结构体批量数据搬运,优先使用标准内存拷贝函数,代码简洁且执行效率高;二进制数据一律用 mem 系列函数,禁止使用 str 系列,避免截断、乱码问题;初
该器件专为电池供电设备、便携式电子产品、工业小型控制系统设计,具备纳安级静态功耗、低压差、宽输入电压、内置多重保护等优势,可将高压输入稳定转换为3.3V固定电压,为MCU、传感器、ADC、存储器等弱电元器件提供纯净、稳定的供电电源。区别于开关电源,LDO无电磁干扰,输出纹波更低,适合为精密模拟电路、信号采集类元器件供电,但整体效率不适用于大压差、大功率供电场景。同时外围电路极简,仅需输入、输出两颗
本文采用GD32F103C8T6开发板的标准库GD32F10x_Firmware_Library_V2.6.0,利用标准库的硬件I2C通信,实现了mcp4728的DAC转换。
本文档介绍在 Windows 下通过 VS Code 配合 HiSpark Studio 扩展插件搭建开发环境的完整流程。该方案具备轻量化、易操作的特点,涵盖从软件安装到源码编译、镜像烧录及串口监控的全过程。
使用聆思科技的Arcs-mini的开发板测试,发现可以通过大模型调用本地的MCP服务,实现通过大模型开灯,光灯,调节屏幕亮度,和显示表情等功能。2.代码分析,通过查看代码,mcp可以通过注册的方式增加,用户可以根据自己的需求创建相应本地mcp服务,只需通过相应的接口进行mcp注册,大模型就可以调用相关mcp服务。大模型根据问题,向开发板发送调用MCP服务请求,程序解析运动请求后,通过mcp_int
2026年主流AI辅助PCB设计工具包括:国产方案如华秋KiCad Copilot支持对话式设计;国际平台如Flux.ai可直接将自然语言转化为PCB;专注自动布线的Quilter.ai和Cadence Allegro X AI;传统EDA增强插件如Altium 365 AI Assistant;以及数据处理工具如Energent.ai。建议根据需求选择工具,如快速原型可选Flux.ai,专业布线
跨行业求职AI工具测评摘要 2026年,超40%求职者面临跨行业转型挑战,核心痛点包括行业经验缺乏、简历筛选困难及面试知识不足。本文测评5款AI工具,重点考察行业适配度(40%)、简历转化能力(35%)和面试辅助专业度(25%)。 测评结果: 1️⃣ 求职精灵Genielink(4.6/5)以全流程服务胜出,尤其擅长可迁移技能挖掘与职业规划; 2️⃣ 职徒简历(4.1/5)专注跨行业简历优化; 3