自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 轻松一刻,程序员冷笑话

程序员夫妻结婚纪念日,老婆说:“我今晚在房间等你,你要debug一下我吗?” 老公说:“算了,我已经有太多bug要处理了,不想再增加一个永久性的。为什么程序员分不清万圣节和圣诞节?因为 Oct 31 == Dec 25。(八进制的31等于十进制的25)一程序员去面试,面试官问:“你毕业才一年,简历上三年经验从何而来?” 程序员答:“加班加的。“我的代码终于没有bug了!” “怎么做到的?” “我把那段代码注释掉了。问:如何生成一个随机字符串?答:让新手程序员退出Vim。

2025-09-26 16:47:12 1561

原创 卫星定位学习—卫星位置计算(四)

升交角距 φ(t) 定义为:ω:近地点角距(从升交点到近地点的固定角度)f(t):真近点角(从近地点到卫星的随时间变化的角度)φ(t):从升交点到卫星的随时间变化的角度。

2025-09-26 16:34:04 1069

原创 卫星定位学习—卫星位置计算(三)

本文系统推导了卫星轨道方程及真近点角关系的数学过程。首先通过变量代换和链式法则,将径向运动方程转换为二阶线性微分方程,求得通解后引入偏心率参数,建立了极坐标下的轨道方程(1.12)。第二部分通过几何分析,建立了真近点角f与偏近点角E的三角函数关系(2.3),并导出著名的开普勒方程。最后归纳了描述轨道的六个关键参数:半长轴、偏心率、升交点赤经、轨道倾角、近地点角距和真近点角,完整构建了卫星轨道运动的数学模型体系。

2025-09-25 15:44:42 952

原创 卫星定位学习—卫星位置计算(二)

本文系统阐述了开普勒行星运动三定律及其数学推导。开普勒第一定律(轨道定律)指出行星轨道为椭圆;第二定律(面积定律)揭示了行星角动量守恒的特性;第三定律(周期定律)建立了轨道半长轴与周期的定量关系。通过二体问题推导,证明了卫星运动中角动量守恒原理,并建立了轨道平面方程。研究采用矢量分析和极坐标方法,从牛顿运动定律和万有引力定律出发,严格推导出开普勒面积定律的数学表达式,验证了轨道运动的基本规律。该理论框架为天体力学和航天动力学奠定了重要基础。

2025-09-23 17:28:22 938

原创 卫星定位学习—卫星位置计算(二)

本文系统阐述了开普勒行星运动三定律及其数学推导。开普勒第一定律(轨道定律)指出行星轨道为椭圆;第二定律(面积定律)揭示了行星角动量守恒的特性;第三定律(周期定律)建立了轨道半长轴与周期的定量关系。通过二体问题推导,证明了卫星运动中角动量守恒原理,并建立了轨道平面方程。研究采用矢量分析和极坐标方法,从牛顿运动定律和万有引力定律出发,严格推导出开普勒面积定律的数学表达式,验证了轨道运动的基本规律。该理论框架为天体力学和航天动力学奠定了重要基础。

2025-09-23 17:18:57 818

原创 WDOG的配置和应用

嵌入式系统常因代码缺陷、外设卡死或干扰导致异常,需通过看门狗机制实现自动复位。STM32提供独立看门狗(IWDG)和窗口看门狗(WWDG):IWDG基于低速时钟,适合长时间系统兜底;WWDG通过窗口检测机制,可识别过快喂狗等异常行为。两者配合使用时,建议IWDG作为基础保障,WWDG用于时序监控。工程中需注意时钟偏差、调试冻结、喂狗策略分层设计,并利用提前中断进行错误处理。实际应用时需根据复位原因区分定位,IWDG解决系统停滞,WWDG防范程序跑飞。

2025-09-04 17:34:11 1223

原创 Timer的配置和应用

在嵌入式开发中,定时器(Timer) 是最常用、也是最容易出问题的外设之一。它看似简单,却几乎贯穿了所有系统:任务调度、PWM 控制、时间测量、信号捕获……只要涉及“时间”或“频率”的地方,就离不开定时器。

2025-09-02 16:40:32 936

原创 卫星定位学习-区域定位原理

本文介绍了两种导航定位方法:交会定位法和三点距离交会法。交会定位法通过已知两点坐标和角度关系,利用三角函数计算目标点坐标。三点距离交会法通过三个已知点与目标点的距离观测值,采用泰勒展开线性化非线性方程,结合最小二乘法迭代求解目标点坐标。文章详细推导了数学模型,并提供了完整的C语言实现代码。实验结果表明该方法能有效收敛,同时探讨了该方法在三维空间和卫星定位中的应用可能性。该方法为导航定位提供了实用的数学工具和解算方案。

2025-09-01 16:49:36 1035

原创 yolo_RK3588系列(三)

本文介绍了将YOLOv5模型部署到RK3588芯片的完整流程。首先需将.pt权重文件转换为.onnx格式,再通过RKNN工具包转为.rknn格式。在板端部署时,需检查NPU驱动版本和环境配置,并确保模型输出维度与推理代码匹配。最后运行demo程序进行图片或视频流推理,通过调整NMS阈值和置信度阈值优化检测效果。整个过程涉及格式转换、环境验证和参数调整等关键步骤,最终实现模型在嵌入式设备上的高效运行。

2025-08-20 11:17:02 1341

原创 vmware虚拟机Ubuntu系统奔溃修复

本文详细记录了Ubuntu虚拟机崩溃后的修复流程。首先需要通过ISO镜像引导进入系统,挂载原系统分区并chroot进入修复环境。针对BIOS和UEFI两种启动方式,分别介绍了使用grub-install重建引导和使用BootRepair工具修复的步骤。文中特别处理了dpkg数据库损坏、GRUB重装失败等常见问题,并提供了详细的命令行解决方案。最后还分析了系统黑屏的可能原因,包括图形界面服务故障、显卡驱动损坏等情况,给出了从TTY终端修复图形界面的具体方法。整个修复过程涉及系统引导、分区挂载、包管理修复等多个

2025-08-12 17:44:29 1783

原创 SH3001六轴传感器应用(二)(IIC驱动开发)

摘要:本文介绍了为Linux系统重新编写IIC驱动以同步读取SH3001传感器数据的实现过程。主要内容包括:1)设备树配置,定义I2C节点和传感器属性;2)驱动初始化流程,包括字符设备注册、类创建等标准操作;3)I2C驱动匹配机制,说明设备树与传统匹配方式的区别;4)关键ioctl接口实现,通过寄存器读写获取加速度和陀螺仪数据;5)编译方法和调试技巧。该驱动解决了原始事件上报方式数据不同步的问题,实现了稳定的传感器数据采集功能。

2025-08-01 15:14:57 1391

原创 FSMC的配置和应用

摘要:FSMC是STM32微控制器中用于连接外部静态存储器的外设模块,支持SRAM、NOR Flash、LCD等多种设备。其工作原理是通过地址线、数据线和控制信号实现对外设的访问,并将其映射到MCU的存储地址空间。开发步骤包括引脚配置、时钟使能、FSMC初始化和地址映射。典型应用包括内存扩展、LCD控制和FPGA通信。调试时需注意总线响应、数据错误等问题,建议使用示波器检查信号跳变并优化时序设置。

2025-07-29 17:36:53 1263

原创 yolo_RK3588系列(二)

本文介绍了YOLOv5模型训练的配置参数设置及训练流程。主要内容包括:1.YOLOv5核心配置参数解析,包括权重文件路径、模型参数配置文件、数据集定义文件等关键参数;2.训练参数设置注意事项,如epochs轮次、batch-size批次大小、图片尺寸要求等;3.模型深度和宽度的控制参数depth_multiple和width_multiple的作用;4.训练完成后产生的权重文件和评估指标(如result.csv中的损失率和mAP值)的分析,用于判断模型训练效果。文章提供了YOLOv5模型训练的标准流程和关键

2025-07-28 17:00:29 1019

原创 IIC的配置和应用

本文介绍了I²C总线通信协议及其在STM32上的应用实现。主要内容包括:I²C协议的基本原理、通信时序和硬件连接要求;STM32 HAL库的I²C初始化配置和读写操作流程;常见问题解决方案及调试技巧;DMA方式实现高效数据传输的方法;以及软件模拟I²C的具体实现代码。文章还提供了实际应用建议,如地址处理、硬件配置注意事项和性能优化方法,并给出了完整的代码示例,包括主从设备通信、EEPROM读写操作等典型应用场景的实现方法,对嵌入式系统开发中的I²C通信具有实用参考价值。

2025-07-24 16:47:03 1083

原创 spi的配置和应用

摘要:SPI是一种全双工同步串行通信接口标准,采用主从结构的全双工同步数据传输方式,具有高速、简单、可靠等特点。HSPI是SPI的增强版,提升了传输速率和并发能力。SPI常用于外设接口,如Flash存储器、传感器、LCD屏等设备中。本文详细介绍了SPI的工作原理、通信流程、典型应用场景,。

2025-07-23 16:22:09 1322

原创 yolo_RK3588系列(一)

本文详细介绍了YOLOv5模型从环境搭建到RK3588部署的全流程。首先使用Anaconda创建Python3.8虚拟环境并安装依赖,采用RK3588适配的YOLOv5版本(使用ReLU替代SiLU激活函数)。然后通过labelimg工具标注数据集,将XML标注转换为YOLO格式,并按比例划分训练/验证集。重点说明了环境隔离、NPU兼容性处理、数据集转换等关键环节,为RK3588平台部署提供了完整的解决方案。文中包含详细的目录结构管理和文件操作代码,确保数据转换过程的规范性和可复现性。

2025-07-22 16:58:50 1047

原创 RTCM原始观测量解析

本文介绍了从RTCM3.3协议中提取MSM7类型数据(如GPS伪距和多普勒频移)的解析流程。首先说明MSM7对应1077消息类型,并概述了RTCM3.3的基本帧格式结构。文章详细讲解了数据解码过程,包括帧同步、长度获取、校验和检查等步骤,重点分析了MSM7消息头的解析方法以及卫星信号数据的提取算法。作者指出在实现过程中发现协议文档与开源代码存在细微差异(如数据块大小计算方式不同),并提供了关键代码片段说明如何处理这些差异。最后提到在内存受限环境下(如单片机)需要对解析流程进行裁剪优化。

2025-07-21 14:51:57 963

原创 uart的配置和使用

本文详细介绍了STM32串口通信的实现方法,包括基础串口通信、DMA+空闲中断接收和环形缓冲区(RingBuffer)三种方案。基础串口通信部分讲解了原理、HAL库配置和中断处理;DMA+空闲中断方案适用于大数据量接收,详细说明了实现步骤和注意事项;RingBuffer方案则适合不定长数据接收,提供了完整的实现代码。三种方案各具特点:基础串口简单易用,DMA高效稳定,RingBuffer资源占用低。开发者可根据项目需求选择合适方案,文章还提供了调试技巧和常见问题解决方法,有助于快速定位和解决串口通信问题。

2025-07-10 17:44:16 1640

原创 gpio的配置和使用

本文档详细介绍了单片机GPIO接口的基本概念、配置方法和应用示例。GPIO作为单片机与外部设备通信的基础接口,具有输入、输出等多种工作模式,包括推挽输出、开漏输出和上下拉输入等。文档提供了STM32 HAL库的配置代码示例,涵盖LED控制和按键检测等典型应用,并强调了电气特性、引脚复用和抗干扰设计等注意事项。同时针对低功耗场景,给出了GPIO优化配置建议,包括引脚状态管理、时钟策略和外设处理等,通过合理配置可将待机电流降低至微安级。最后提供了低功耗GPIO检查清单,帮助开发者实现系统级优化。

2025-07-09 16:19:16 1892 1

原创 SH3001六轴传感器应用(一)

本文介绍了加速度计和陀螺仪传感器的初始化及数据读取方法。代码展示了如何通过系统调用校准传感器,获取X/Y/Z轴偏移量,并打开设备节点读取数据。加速度计数据以重力加速度为单位输出,陀螺仪数据以度/秒为单位输出。程序通过ioctl控制传感器启停,持续读取并打印三轴数据,为后续数据融合算法(计算俯仰、航向、横滚角)提供原始数据。代码包含完整的错误处理和设备节点检测逻辑。

2025-07-04 16:23:47 462

原创 RK3588从零到一实现摄像头视频推流实现(二)

本文介绍了基于V4L2框架采集摄像头数据后,使用MPP组件进行H265编码并推流的实现方案。利用zlmediakit组件从编码队列中获取数据进行RTSP推流。

2025-06-27 17:08:35 2844

原创 RK3588从零到一实现摄像头视频推流实现(一)

摘要:本文介绍了在RK3588平台上使用V4L2框架配置IMX415摄像头的详细过程。通过opencv实现摄像头本地播放的应用流程。

2025-06-26 14:17:53 2705

原创 zlmediakit组件详解(四)

本文通过Wireshark抓包分析RTSP协议交互流程,并实现了一个简易RTSP服务器。文章首先介绍了使用Wireshark抓取RTSP点对点通信的方法,详细解析了OPTIONS、DESCRIBE、SETUP、PLAY、TEARDOWN等RTSP基本交互流程。然后展示了服务器端代码实现,包括TCP服务初始化、SDP描述生成和RTSP请求处理。重点讲解了H.264视频流的RTP封装机制,包括NALU分片、RTP包头结构、时间戳计算等关键技术细节。最后给出了H.264文件解析和RTP分片发送的具体实现代码

2025-06-25 15:16:52 1613

原创 卡尔曼滤波学习和理解(二)

本文介绍了用C语言实现物体运动线性系统中的卡尔曼滤波算法。作者通过小车匀速直线运动的模型,说明了如何运用卡尔曼滤波的五大核心公式,重点讲解了状态转移矩阵、观测矩阵和误差参数(R矩阵、Q矩阵)的设置方法。文章提供了完整的代码实现框架,包括矩阵运算、先验估计计算、卡尔曼增益计算和后验估计更新等关键步骤。代码以简单易懂的方式呈现,并包含详细注释,为后续实际传感器数据处理奠定了基础。文中强调实际应用中需要根据具体场景调整误差参数,体现了理论到实践的过渡过程

2025-06-20 16:07:11 569

原创 卡尔曼滤波学习和理解(一)

本文介绍了正态分布和数据融合概念,通过一个求平均值的例子说明递归式数据更新的思想。以测量硬币直径为例,利用两把误差符合正态分布的尺子进行数据融合,推导出最优权重系数K的计算方法。文章展示了如何通过方差分析求解二次方程,得到误差最小的测量值。最后提到后续将用C语言实现卡尔曼滤波器。

2025-06-20 09:59:34 479

原创 zlmediakit组件详解(三)

本文以RK3588开发板为例,演示zlmediakit组件demo运行过程。通过VLC播放rtsp流,为后续V4L2+MPP实现RTSP推流打下基础。案例展示了从问题发现到解决的完整流程,强调通过实践掌握框架的重要性。

2025-06-12 15:45:14 818

原创 zlmediakit组件详解(二)

本文介绍了ZLMediaKit组件在RK3588平台上的交叉编译过程。。在编译过程中会解决objcopy工具格式不兼容的问题,确认交叉编译完成。文章为在RK3588平台上使用ZLMediaKit提供了完整的编译指导。

2025-06-11 17:59:47 1000

原创 zlmediakit组件详解(一)

ZLMediaKit是一款高性能流媒体服务器框架,采用C++编写,支持多种协议(RTSP/RTMP/HLS等)。其架构分为三层:1)网络通信层处理异步IO;2)协议层解析不同媒体协议;3)媒体核心层管理流媒体分发。核心组件包括Socket通信、协议处理模块、MediaSource流管理和RingBuffer缓冲。数据流处理采用多协议共享机制,支持通过配置文件或API进行灵活控制。提供HTTP接口、嵌入式SDK和二次开发三种使用方式,适用于不同场景需求。

2025-06-11 13:41:14 2863

jlink调试驱动程序

jlink驱动

2025-08-26

SH3001六轴传感器应用(二)(IIC驱动开发)

里面有sh3001的驱动以及app文件应用

2025-08-01

RTCM3.3协议2016

RTCM3.3协议2016

2025-07-21

RK3588从零到一实现摄像头视频推流实现

这个是章节的工程项目代码,完成了从零到一实现摄像头视频推流实现。使用的开源组件有opencv,mpp,zlmediakit

2025-07-04

resnet模型的图片降噪

该文件是用resnet模型,使用pytorch框架,采用FashionMNIST数据集,主要的功能是对FashionMNIST数据集进行降噪还原原本图片

2025-06-26

zlmediakit组件详解(四)

这个就是示例代码的源码以及测试文件

2025-06-25

zlmediakit组件详解-配套演示文件

该资源是基于RK3588平台编译好的动态库,演示demo,配套h264视频,以及配置文件

2025-06-12

空空如也

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

TA关注的人

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