自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (3)
  • 收藏
  • 关注

原创 图片元数据与防篡改技术指南

像数字世界的“隐形日记”,记录拍摄时间、设备甚至GPS位置。但这也带来隐私和篡改风险。——从修改 EXIF 到数字签名,掌控图片的真实性。:没有绝对安全,但多层防护能让篡改者望而却步!:独立签名文件,适合技术用户。

2025-06-29 16:19:39 502

原创 相机的光圈

(光圈值)来表示,常见的参数包括等。

2025-06-28 22:36:21 1338

原创 工作笔记:USB 2.0 中的 DWC2 控制器简介

摘要:DWC2(DesignWare Core USB 2.0)是Synopsys公司提供的USB 2.0控制器IP核,支持480 Mbps传输速率,广泛应用于嵌入式系统和SoC芯片中。它具有主机和设备双模式、高集成度等特点,在Linux系统中通过dwc2驱动模块控制。调试时需注意驱动加载、设备树配置等关键点,适用于USB外设连接和设备功能实现。掌握DWC2的配置方法对嵌入式USB开发至关重要。

2025-06-27 18:33:44 566

原创 工作笔记:大疆PSDK开发中的SEGV错误分析与解决

摘要:大疆PSDK开发中SEGV错误分析与解决方案 在开发大疆Payload SDK(PSDK)应用时遇到Segmentation Fault(SIGSEGV)错误。GDB调试显示问题发生在数据订阅模块的DjiDataSubscriptionPublisher_RecvFCDataDb2Handle()函数中。可能原因包括:PSDK初始化不全、数据订阅配置错误、内存访问越界或多线程竞争。

2025-06-26 16:29:06 365

原创 RT-Thread 系统中线程优先级的使用与规划建议

RT-Thread系统中合理规划线程优先级对于系统响应速度和稳定性至关重要。该系统采用32级优先级配置,数值越小优先级越高,支持抢占式调度和时间片轮转。使用时需注意:高优先级线程不宜长期占用CPU,低优先级线程应保持可抢占性,建议使用mutex防止优先级反转。推荐按任务类型分层分配优先级:0-5级用于硬实时任务,6-15级用于常规实时任务,16-25级用于一般任务,26-31级用于后台任务。开发者可通过finsh命令监控线程状态,优化系统性能。合理的优先级规划能显著提升嵌入式系统的运行效率。

2025-06-25 11:25:27 575

原创 波束成型扫描的工作原理-续

本文分析了波束指向角公式的适用条件及其在二维阵列中的扩展应用。公式Δϕ=(2πd/λ)·sinθ基于一维线性阵列(ULA)的五个关键假设。扩展到二维平面阵列后,需同时控制方位角和俯仰角的相位差,公式变为ϕₘₙ=(2πd/λ)·(m·sinθ·cosφ + n·sinθ·sinφ)。文中对比了不同阵列类型的特点,并通过Python代码模拟了8×8二维阵列的三维波束图,展示了波束在(θ=50°,φ=45°)方向的主瓣聚焦效果。结果表明,二维阵列可实现全向扫描但复杂度较高,为雷达系统设计提供了理论依据。

2025-06-25 10:50:46 1003

原创 波束成型扫描的工作原理

摘要:波束电子扫描是相控阵雷达的核心技术,通过控制天线阵元间的相位差实现无机械转动扫描。线性阵列中,干涉效应使特定方向波束增强,相位差公式为Δφ=(2πd/λ)sinθ,改变Δφ即可调整波束角度θ。实际控制可采用模拟移相器、数字延时线或混合方式,扫描模式包括空间、时间及频率扫描。以TI IWR6843为例,配置发射天线相位可精准控制波束指向。该技术具有响应快、连续可调等优势,广泛应用于雷达、5G通信及自动驾驶领域。二维阵列还能实现空间三维波束定向。

2025-06-24 16:30:26 658 1

原创 TM32 HardFault 调试实战:如何识别与解决内存对齐异常

摘要:本文通过分析STM32开发中常见的HardFault错误,重点探讨了内存不对齐访问(Unaligned Access)导致的UsageFault问题。文章首先解析错误日志,说明ARM Cortex-M架构的内存对齐要求(如4字节数据必须4字节对齐)。随后详细介绍Keil MDK中的解决方案:启用结构体自动对齐、显式声明数据对齐、检查指针对齐性以及开启调试支持。最后强调良好的数据对齐习惯对系统稳定性的重要性,并建议开发者使用Keil工具链快速定位异常。关键词:STM32、HardFault、Keil、内

2025-06-24 09:04:15 821

原创 深入理解 C++ 虚函数:原理、作用与使用场景

C++虚函数是实现多态的核心机制,允许基类指针调用派生类的函数实现。文章详细解析了虚函数的使用要点:1)仅纯虚函数会阻止类实例化,普通虚函数不影响;2)普通虚函数实现运行时多态、提供默认实现并作为带默认行为的接口;3)override关键字虽非强制但强烈推荐使用,可避免错误并提高代码质量。通过对比虚函数与纯虚函数的特点,帮助开发者更合理地运用这一重要特性,提升程序的灵活性和可维护性。

2025-06-23 10:02:40 563

原创 在 C 函数中调用 C++ 类成员函数的正确方式

摘要:本文介绍了如何在C函数中调用C++类成员函数的方法。由于C和C++语言机制不同,直接调用不可行。关键是通过extern "C"封装C++类接口,使用void*传递对象指针,并提供创建、操作和销毁的C风格函数。文章给出了完整示例代码,包括C++类定义、C接口封装和C调用方式,并说明了编译链接的注意事项。这种方法适用于C项目复用C++模块或提供跨语言API接口,实现安全高效的功能复用。

2025-06-22 06:00:00 611

原创 基于相机参数与风机转速计算像素模糊的快门速度建议

本文提出一种基于相机参数与风机转速计算最大快门速度的方法,以避免风电巡检中的图像模糊。通过叶尖线速度、像面速度和像素模糊容忍度推导核心公式,并给出适用于嵌入式设备的C语言实现。测试结果显示,在不同转速(6-13rpm)和距离(15-40米)条件下,该方法能准确计算最大曝光时间并匹配标准快门等级(如1/400、1/500)。该方案具有计算高效、可移植性强等特点,支持实时调整和动态配置,适用于无人机巡检等场景。文末还提出接入飞控数据、支持变焦镜头等优化方向。

2025-06-21 06:45:00 843

原创 RV1126 USB 控制器设备树时钟配置及启动失败排查

摘要:本文分析了Rockchip RV1126平台USB控制器(DWC3)在设备树中的配置问题,重点针对启动时出现的时钟获取失败报错"Failed to get clk 'ref': -2"。文章解析了设备树中USB相关配置的关键要素,包括时钟定义、名称匹配、节点启用状态等,并提供了排查时钟未注册、名称不匹配、节点禁用等常见问题的解决方案。通过正确配置cru节点时钟、确保时钟名称对应性及启用相关模块,可解决USB控制器初始化时的时钟资源获取问题。设备树标签与引用机制的说明为相关配置提供了

2025-06-20 11:37:49 381

原创 蓝牙自拍杆中的HOGP协议详解与应用实例

HOGP(HID over GATT Profile)是蓝牙低功耗 BLE 协议栈中定义的一种人机接口设备(HID)协议规范,允许诸如鼠标、键盘、游戏手柄等输入设备通过 GATT(Generic Attribute Profile)与主机通信。HOGP 是 BLE 下 HID 类设备的官方通信标准,也被广泛用于蓝牙自拍杆这类仅需发送简单控制命令的低功耗设备。蓝牙自拍杆看似简单,实则背后采用的是 BLE 的 HOGP 协议,具有结构轻量、低功耗、高兼容性的优点。

2025-06-20 10:10:29 404

原创 STM32串口接收方式如何选择:中断接收 vs DMA接收?

摘要: STM32串口接收方式选择对系统性能影响显著。中断接收适用于少量数据,实时性高但CPU占用率高;DMA中断接收适合大数据量,通过DMA搬运数据并仅在完成时触发中断,显著降低CPU负载。推荐DMA+空闲中断+环形缓冲区组合,兼顾效率与稳定性,尤其适合GPS、传感器等连续数据流场景。实现步骤包括初始化DMA缓冲区、启用空闲中断及处理数据后重启DMA。对于高频或大数据应用,DMA方案是提升系统效率的首选。

2025-06-19 16:02:08 587

原创 基于敏捷方法的软件开发实践与思考

摘要:本文探讨敏捷开发方法在软件项目中的实践应用。分析敏捷开发的核心思想(如迭代交付、用户故事)及关键实践(Scrum框架、持续集成),并结合实际案例提出需求变更、客户参与不足等问题的解决策略。研究表明,敏捷方法通过与传统开发模式融合,可有效提升项目灵活性与交付效率。文章为技术团队实施敏捷开发提供可行性参考,并指出未来结合DevOps等新趋势的发展方向。(149字)

2025-06-19 15:38:22 677

原创 深入理解 `rt_completion` —— 一次性同步机制的正确使用姿势

在 RT-Thread 系统中,是一种轻量级的线程同步机制,用于线程之间的一次性完成通知。很多开发者在刚接触它时,会误以为它与信号量rt_sem类似,可以重复使用、积累事件,这种误解往往导致程序出现“莫名其妙的死等”或“事件丢失”的问题。本文将结合一个形象的**“步枪上弹→瞄准射击”的类比,彻底讲清楚的使用场景、限制与正确姿势**。在我们的项目中,有同事曾尝试这样使用// 等待外设响应// 处理响应而另一个线程可能在某些情况下先于wait()调用了done()

2025-06-18 11:28:03 1004 1

深入理解计算机系统

从程序员的角度去理解计算机程序的运行,对于编写出高质量的代码很有帮助。

2012-02-14

bmp文件解码的研究与实现

,探讨了BMP 格式的多样性,有针对性地提 出了一些解码思路

2012-02-23

现代计算机常用数据结构和算法

对现代计算机的数据结构和算法进行全面和详细的介绍。

2012-02-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除