
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
ESP32-C3和ESP32-S3是乐鑫科技的两款Wi-Fi+蓝牙微控制器。C3采用RISC-V单核处理器(160MHz),功耗低,适合简单物联网设备;S3采用Xtensa双核处理器(240MHz),支持USB、摄像头等丰富接口,适合高性能应用。选型关键点:C3适合低成本、低功耗场景(如传感器节点),S3适用于复杂计算、多媒体处理(如语音识别、图像显示)。两者均支持Wi-Fi/BLE,但S3射频性

本文系统介绍了嵌入式产品开发的全流程,从需求定义到市场认证的完整路径。开发过程分为三大阶段:需求与设计阶段重点明确功能、性能、成本和应用场景需求,完成软硬件架构设计;开发与调试阶段实现硬件PCB设计制作、软件分层开发及系统联调;试产与认证阶段通过小批量试产验证生产工艺,完成产品认证获取市场准入资格。整个流程环环相扣,强调量化指标、模块化设计和问题闭环,为开发团队提供了一套从技术实现到产品落地的系统

摘要:在LVGL V9.2图像处理中,频繁出现日志 image_decoder_get_info: Image decoder didn't set strid导致设备重启的问题。通过分析发现,问题源于局部变量使用、内存分配及数据指针设置不当。解决方案采用全局变量存储图像数据,正确初始化lv_draw_buf_t结构体,并确保图像数据指针正确指向。关键改进包括:全局缓冲区分配、静态draw_buf

本文针对ESP32-S3驱动RGB屏幕时的画面漂移与撕裂问题,提出多维度解决方案。硬件层面优化总线带宽和缓存配置,包括提升Flash/PSRAM工作频率、调整缓存参数等;软件层面建议采用XIPPSRAM+RGBBouncebuffer组合方案,并对NVS操作和大文件处理进行代码优化。同时给出动态时钟调节、手动刷屏等应用层解决策略,有效平衡系统性能与显示效果。方案适用于Wi-Fi操作、Flash写入

在LVGL线程之外的线程,更新UI内容时,会导致程序崩溃。导致LVGL卡死现象,进而程序崩溃,主要原因就是在LVGL的线程外更新了LVGL对象导致的,接下来分析并解决该问题!

摘要:本文剖析了嵌入式系统中使用标准malloc的三大缺陷:时间不可预测、内存碎片化和线程不安全。通过一个实际案例揭示了内存碎片导致设备死机的根本原因,并提出对象池(Object Pool)作为高效替代方案。对象池采用固定大小内存块和侵入式链表设计,实现了O(1)时间复杂度的内存分配/释放,完全消除内存碎片,且无需额外存储开销。相比malloc,对象池在实时性、内存利用率和线程安全方面具有显著优势

嵌入式开发中滥用全局变量会带来数据篡改、并发竞争、内存浪费和测试困难等问题。本文通过代码示例分析了这些隐患,并提出了优化方案:1)模块化封装数据,提供受控访问接口;2)使用互斥锁保护多任务共享资源;3)将临时数据改为局部变量或动态内存;4)通过参数传递替代全局状态依赖。优化遵循最小作用域、单一职责和显式优于隐式原则,可提高代码的封装性、安全性和可测试性,特别适合资源受限的嵌入式系统开发。
本文介绍了四种实用的裸机多任务处理技巧,适用于资源受限的嵌入式开发场景。首先分析了简单轮询的缺陷,随后详细讲解了时间片轮询、任务表驱动、状态机和中断+标志位四种解决方案。通过智能温控器案例展示了实际应用,并提供了裸机与RTOS的选型指南。这些方法能有效解决多任务调度问题,在保证响应速度的同时降低系统开销,特别适合任务数量少、资源紧张的项目开发。文章强调应根据项目需求选择最合适的技术方案。

本文探讨了嵌入式开发中UI刷新的优化方案,提出了从传统Push模式到观察者模式、MVC/MVVM架构的演进思路。传统方式存在耦合度高、维护困难的问题,而观察者模式通过"订阅-通知"机制实现解耦。MVC架构进一步明确了Model、View、Controller的分工,MVVM则通过数据绑定简化开发。文章以温控器为例展示了实际应用,并针对嵌入式系统的资源限制提供了性能优化建议。这种

本文介绍了四种实用的裸机多任务处理技巧,适用于资源受限的嵌入式开发场景。首先分析了简单轮询的缺陷,随后详细讲解了时间片轮询、任务表驱动、状态机和中断+标志位四种解决方案。通过智能温控器案例展示了实际应用,并提供了裸机与RTOS的选型指南。这些方法能有效解决多任务调度问题,在保证响应速度的同时降低系统开销,特别适合任务数量少、资源紧张的项目开发。文章强调应根据项目需求选择最合适的技术方案。








