自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux串口对0X0D、0X0A等特殊字符的处理

摘要:项目中使用STM32与RK3588串口通信传输温湿度数据时,出现CRC8校验失败问题。经排查发现,Linux端会将特殊字符(如0x0D、0x0A等)自动转换,导致接收数据被篡改,CRC校验值错误。解决方案是在Linux串口初始化时清除输入阶段的自动处理标志(IGNBRK、ICRNL等),使数据以原始形式接收。修改后,系统能正确接收特殊字符,CRC校验恢复正常。该问题表面偶现实为必现,关键在于禁用串口的自动转换功能。

2025-12-11 16:26:01 871

原创 STM32--编码器(E6B2-CWZ1X)

本文介绍了STM32F407驱动欧姆龙E6B2-CWZ1X增量式编码器的实现方法。该编码器通过A/B相正交脉冲检测旋转方向与角度,Z相提供零位校准。硬件方面需注意NPN集电极开路输出需外接上拉电阻,5V供电并与STM32共地。软件实现采用STM32定时器编码器模式自动解码正交信号,支持四倍频提高精度,并通过外部中断处理Z相信号。文中详细说明了接线方式、寄存器配置及注意事项,包括32位定时器选择、输入滤波设置等关键点,为电机控制等应用提供了完整的编码器驱动解决方案。

2025-12-05 14:00:34 926

原创 STM32--BH1750光敏传感器

本文详细介绍了STM32F407IGT6驱动BH1750光敏传感器的方法。BH1750是一款高精度数字光照传感器,通过I2C接口输出16位数字量,无需外部AD转换。文章从工作原理、接线方式到软件实现三方面进行说明,重点解析了传感器的光电转换原理、I2C通信协议和四种工作模式,并给出了完整的驱动代码,包括初始化、数据读取和光照强度计算。关键注意事项包括上拉电阻配置、地址选择和供电要求。该方案测量精度可达±5%,适用于各类光照检测应用场景。

2025-12-04 16:23:03 1033

原创 STM32--HX711称重传感器

本文介绍了使用STM32F407IGT6驱动HX711称重传感器模块的实现方法。HX711是一款24位高精度AD转换器,可将称重传感器的模拟信号转换为数字信号。文章详细说明了硬件接线方式(VIN-5V、GND-GND、CLK-PB1、DATA-PB2)和软件实现,包括初始化、数据读取、零点校准和量程标定等关键功能。通过HX711_GetWeight()函数可获取平均重量值,精度可达0.01g。首次使用时需执行校准流程(空载校准和已知重量标定),后续即可循环读取重量数据并通过串口输出。该方案适用于需要高精度称

2025-12-03 14:10:41 1100 2

原创 STM32--GY906体温检测传感器

本文介绍了STM32驱动GY906红外温度传感器的实现方法。GY906基于MLX90614芯片,采用I2C通信协议,精度达0.01℃。硬件连接使用PB6(SCL)和PB7(SDA)引脚,软件部分包含初始化、环境温度和目标温度读取函数,通过串口输出温度数据。程序采用HAL库开发,实现了1秒间隔的温度采集与显示功能,为嵌入式系统温度监测提供了完整解决方案。

2025-12-01 16:06:36 436

原创 STM32--SHT45温湿度传感器

本文介绍了基于STM32F407IGT6驱动SHT45温湿度模块的实现方法。SHT45采用I2C接口输出数字信号,支持高精度模式(±0.2℃/±1.5%RH)。硬件连接包括VIN(5V)、GND、SCL(PC4)、SDA(PC5)。软件部分提供了完整的驱动代码,包含CRC校验、数据读取和温湿度转换功能,并实现了1秒间隔的循环采集。程序采用模块化设计,通过HAL库实现I2C通信,支持三种精度模式选择,可直接输出校准后的温湿度数值。

2025-11-26 18:08:15 579

原创 STM32--红外对射传感器计数

本文介绍了基于STM32F407IGT6的光电计数模块实现方法。通过EXTI线中断检测红外遮挡产生的下降沿,实现了精确计数功能。硬件连接采用5V供电,信号线接入PC0引脚。软件方面详细展示了初始化配置、中断服务函数和计数处理逻辑,包括消抖处理、计数累加和状态更新。主程序循环读取并显示左右两侧的计数值,每100次自动清零。该方法具有计数准确、响应快速的特点,适用于需要物体计数的应用场景。

2025-11-25 15:33:57 212

原创 liunx服务器设置定时关机方法

本文介绍了两种在Linux服务器上设置每周定时关机的方法:Cron方法:通过编辑root用户的crontab文件,添加定时任务(如每周六23:00执行/sbin/shutdown -h +0),利用cron守护进程实现周期性关机。Systemd Timers方法:创建service和timer单元文件(如OnCalendar=Sat 23:00:00),通过systemd管理任务触发,支持日志和依赖关系。两种方法均需root权限,建议测试后应用,并可通过对应命令取消任务。文中还提醒注意用户通知及权限问

2025-11-24 16:10:04 187

原创 RK3588移植OSS-C-SDK源码

OSS-C-SDK 是云厂商(如阿里云、腾讯云等)推出的C/C++ 语言对象存储(OSS)开发工具包,核心用途是让 C/C++ 项目(含嵌入式、Linux 后端等)快速集成 OSS 的文件存储、管理能力,无需从零开发底层通信和协议解析逻辑。核心目标:将阿里云 OSS-C-SDK 移植到 RK 板子(ARM 架构),实现 C/C++ 项目集成 OSS 文件存储能力,关键流程为,下载源码→交叉编译依赖库→配置编译 SDK→安装。

2025-10-30 17:16:25 348

原创 使用MD5工具生成哈希校验值的教程

MD5校验工具使用指南 MD5校验工具主要用于验证文件完整性,通过对比文件生成的MD5哈希值来判断文件是否被篡改或损坏。其核心功能包括:确认文件是否与原始版本一致、检测传输或存储过程中的错误、验证文件来源可靠性。操作流程简单三步:选择文件、生成MD5值、与原始值比对。若MD5值一致则文件完整,不一致则表明文件可能损坏或被修改。该工具在网络传输、软件分发等场景下尤为实用,能有效保障数据安全。

2025-10-29 19:16:12 445

原创 curl库在x86架构下交叉编译成arm64架构

本文详细介绍了如何在x86_64架构的Ubuntu 22.04系统上交叉编译ARM64(aarch64)版本的curl库。主要内容包括:1)环境准备和工具安装;2)下载curl 7.88.1源码;3)配置AArch64交叉编译工具链;4)设置编译参数和安装目录;5)执行编译和安装过程;6)验证编译结果。文章还提供了自动化编译的shell脚本,方便批量执行。最终生成的静态库文件可部署到RK3588等ARM64架构设备上使用。

2025-10-23 17:09:14 464

原创 apr-util库 在x86架构下的交叉编译成arm架构

本文详细介绍了如何在x86_64架构的Ubuntu22.04系统上交叉编译apr-util库到ARM64架构。内容包括环境准备(安装编译工具)、交叉编译工具链配置(设置CC/CXX等环境变量)、源码下载(apr-util-1.6.3)、配置安装目录和依赖项(需先编译apr库)、编译安装步骤,以及验证方法(通过file命令检查)。最后还提供了自动化编译的shell脚本方案,包含apr和apr-util的完整编译流程,适合需要批量处理或重复编译的场景。文章特别强调了apr库作为前置依赖的重要性,并给出了相关参考

2025-10-23 16:59:46 758

原创 apr库在x86架构下交叉编译成arm64架构

本文介绍了如何在x86_64架构的Ubuntu22.04系统上,为aarch64架构的RK3588设备交叉编译APR库1.7.4版本。主要步骤包括:环境准备(安装必要的工具)、下载源码、配置交叉编译工具链(aarch64-linux-gnu)、设置编译参数、执行编译安装。编译完成后可通过检查生成的libapr-1.so文件验证编译是否成功。该过程适用于需要为ARM架构设备构建APR库的开发场景。

2025-10-23 16:47:08 608

原创 linux环境编译安装Tscodescan工具

本文介绍了使用Tscancode工具进行C/C++代码静态扫描的完整流程。从下载源码、编译安装到配置检测规则,详细说明了如何通过命令行执行扫描并分析结果。重点展示了工具检测出的典型问题案例,如内存泄漏和指针异常等,并提供了查看错误报告的方法。该工具能有效帮助开发者发现代码中的潜在缺陷,提升代码质量。

2025-10-20 16:04:07 408

原创 libserialport 库在x86架构下交叉编译成arm64架构

本文介绍了如何在x86_64架构的Ubuntu22.04系统上为ARM64架构的RK3588平台交叉编译libserialport库。主要步骤包括:1)下载源码并安装构建工具;2)设置交叉编译环境变量;3)配置编译参数;4)执行编译和安装。重点说明了工具链路径、目标架构参数等关键配置项,最终生成静态库并安装到指定目录。该过程适用于需要在x86平台为ARM设备编译libserialport库的场景。

2025-10-20 10:28:55 455

原创 Cjson库在x86架构下交叉编译成arm64架构

本文介绍了如何将CJSON库交叉编译为ARM架构版本。在x86_64架构的Ubuntu 22.04系统上,针对RK3588(aarch64架构)进行编译。步骤包括:创建代码目录、下载指定版本(1.7.15)源码、配置环境变量(需设置交叉编译工具链路径)、使用CMake配置交叉编译参数(指定编译器、安装路径等)、执行编译和安装(make -j20 && make install),最后设置安装目录权限。整个过程适用于需要将CJSON库移植到ARM平台的项目需求。

2025-10-15 15:39:57 173

原创 Paho MQTT C库 在x86架构下的交叉编译成arm架构

本文介绍了如何将Paho MQTT C库交叉编译为ARM架构版本。作者使用x86_64架构的Ubuntu 22.04系统作为开发环境,目标平台为RK3588的aarch64架构。主要步骤包括:克隆1.3.0版本Paho MQTT C库源码、配置交叉编译工具链环境变量、创建构建目录并使用CMake配置交叉编译参数(包括指定编译器路径、安装目录等)。最后通过make命令完成编译和安装,并设置权限。整个过程详细说明了从源码到生成ARM架构可执行文件的完整流程,为需要在ARM设备上使用MQTT功能的开发者提供了实用

2025-10-15 15:14:28 306

原创 windows/Linux使用iperf3工具测试wifi通讯速率

本文介绍了如何在Windows和Linux系统中使用iPerf3工具进行网络带宽测试。Windows部分详细说明了下载安装步骤,强调需将文件复制到C:\Windows目录,并演示了服务器端和客户端的搭建方法及参数解释。Linux部分则通过apt-get命令安装iPerf3,同样展示了服务器端和客户端的配置流程。测试结果显示,本地回环地址的传输带宽达到63.7Gbits/sec,验证了工具的有效性。两系统操作步骤相似,Linux可参考Windows的参数解析。

2025-10-11 14:51:21 864

原创 大厂C语言编写、测试、维护、审查规范

本规范旨在统一 C 语言编码标准,提升代码的可读性、可维护性、可测性与稳定性,覆盖从代码排版到宏定义的全流程开发环节

2025-10-10 17:18:39 1314

原创 STM32--大功率mos管驱动模块

本文介绍了使用双MOS管并联驱动LED灯带的方法,该方法具有内阻低、电流大的优势,支持PWM和高电平输出。文章详细说明了MOS管驱动模块的技术参数、接线方式(5V供电,PIN13控制信号),并提供了基于STM32的GPIO初始化配置和控制程序。通过示波器验证,该方案能稳定输出PWM波形,实现了对LED灯带的精确控制。该驱动方案简单高效,适用于需要大电流驱动的LED应用场景。

2025-09-26 10:28:05 598 4

原创 Arduino----SK6812灯带驱动

本文介绍了如何使用Arduino控制SK6812灯带。首先安装Adafruit_NeoPixel库,连接灯带(5V、GND和信号线分别接Arduino)。提供的开源代码实现了多种灯光效果,包括彩色流水灯、彩虹渐变和剧院追逐效果。程序包含初始化设置和多个自定义函数,通过调整颜色参数和延迟时间可呈现不同视觉效果,避免了收费教程的困扰。

2025-09-10 15:50:23 460

原创 Arduino uno R3--掉电保存功能

摘要:Arduino Uno R3不具备自动掉电保存功能,但可通过ATmega328P芯片内置的512字节EEPROM实现数据永久存储。EEPROM具有掉电不丢失数据、约10万次擦写寿命的特点,适合保存少量关键参数。使用Arduino的EEPROM库可轻松实现数据读写,示例代码演示了如何保存计数器值并在重新上电后恢复数据。注意避免高频写入以延长EEPROM寿命。(150字)

2025-09-10 14:14:25 417

原创 物联网通信协议MQTT与Java代码讲解

本文介绍了MQTT协议及其在物联网中的应用。MQTT是一种轻量级发布/订阅消息传输协议,具有低带宽消耗、可靠传输和双向通信等特点,特别适合资源受限的物联网设备。文章对比了MQTT 3.1.1和5.0版本的功能差异,并分析了MQTT与HTTP协议在物联网场景下的优劣势。在技术实现方面,提供了基于Java和Eclipse Paho客户端的MQTT通信模型设计,包括主题命名规则、QoS级别选择、异常处理机制等核心内容。

2025-08-13 15:01:16 929

原创 2025 年全国大学生电子设计竞赛试题(目录)

2025年全国大学生电子设计竞赛将于7月30日8:00至8月2日20:00举行。比赛分为本科组(A-H题)和高职高专组(I-K题),每队3人,需为全日制在校学生。参赛需携带学生证备查,竞赛期间可使用资料但不得场外制作或交流。比赛结束需提交设计报告、实物和登记表。本科组选题包括能量回馈变流器等8个题目,高职高专组可选择本组3题或本科组题目。竞赛全程4天3夜,严禁违规行为。

2025-07-31 10:20:56 2927

原创 自动避障小车(K题)--2025 年全国大学生电子设计竞赛试题

制作一辆自动避障小车,从测试场地边墙入口A驶入,按具体任务要求绕过场地内的圆柱障碍,在规定时间内从出口C驶出。测试场地如图1所示,为边长2米的正方形,四周有边墙围挡,两侧有入口A和出口C,4个白色、5个黑色圆柱用圆柱座固定在场地上作为障碍物。小车每次从入口到出口穿越过程中还必须满足:不从两个黑柱间穿过,沿边墙墙角转弯不超过1次。小车在场地中行驶不应触碰圆柱,可触碰但不可跨越场地边墙。圆柱排列如图1所示。

2025-07-31 10:18:05 753

原创 超声信标定位系统(J题)--2025 年全国大学生电子设计竞赛试题

在扇环区域中按如下规则划分出36个区段:以扇形一条边为基准佳,以圆心角15°分隔成6个"区",分别以字母A、B、C、D、E和F示示;距离圆心O点150cm开始,沿半径距离方向每15cm分隔成6个"段",分分别以数字1、2、3、4、5和6标示。在完成基本要求基础上,将扇环区域进一步按如下规则划分出48个扩展区段:以扇形一条边为基准,以圆心角7.5°分隔成12个"区",分别以字母H、I、J、K、L、M、N、P、Q、R、S和T标示:沿半径距离方向再扩展出4个"段",分别以数字7、8、9和10标示。

2025-07-31 10:15:07 1189

原创 非接触式控制盘(I题)--2025 年全国大学生电子设计竞赛试题

设计并制作一个非接触式控制盘。控制盘由操作面板、显示器及测控模块组成,控制盘的负载为直流风扇,组成结构如图1所示,其中,操作面板上的S1、S2、S3、S4为漫反射式光电开关,S5为自制超声波测距模块,操作面板尺寸不大于40cm×40cm,直流风扇的最高工作电压为12V。控制盘通过挥手形式完成启动/停止、正转/反转、工作电压调整、运行时间设定和组合操作功能。显示器显示设定参数、运行状态及手掌与操作面板之间的操作距离d。风扇电压由外接电压表测量。

2025-07-31 10:11:21 795

原创 野生动物巡查系统(H题)--2025 年全国大学生电子设计竞赛试题

用多旋翼自主飞行无人机巡查450cm×350cm区域(分成63个50cm×50cm方格),识别、统计区域内野生动物类型(如象、虎、狼、狼、狼、猴、孔雀等)、所在位置及各种动物的数量。无人机下方安装激光笔,巡查时激光笔垂直向下指示航线。(2)无人机从红色起飞区域起飞,在120±10cm高度按规划的航线巡查,飞行时不得偏离航线:巡查完成时间不得超过300s,越快越好。(3)巡查发现某方格中有野生动物时,识别动物种类及数量:将方格代码、动物名称及数量发送到地面站实时显示并保存,要求事后能调出显示。

2025-07-31 10:06:54 979

原创 电路模型探究装置(G题)--2025 年全国大学生电子设计竞赛试题

设计并制作RC有源滤波电路(简称已知模型电路)和电路模型探究装置(简称探究装置)。基本要求中,探究装置可自动调节本身的输出信号并加给"已知模型电路",使该电路按要求输出信号:发挥部分中,探究装置可对测评现场提供的"未知模型电路"进行自主学习、建模,并根据该电路输入端的信号推理生成与该电路相同的输出信号。

2025-07-31 09:59:04 1345

原创 简易自动接收机(F题)--2025 年全国大学生电子设计竞赛试题

设计并制作一台简易自动接收机,自动搜索并接收88MHz~108MHz频率范围内的调频或调幅信号。接收机接收的信号由射频信号源产生,载波频率调节步进为100kHz,调制信号的频率范围为300Hz~3400Hz。按收机输出端接8Ω负载电阻。自动识别调制方式,解调输出信号用示波器观察,波形应无明显失真。

2025-07-31 09:55:23 666

原创 简易自行瞄准装置(E题)--2025 年全国大学生电子设计竞赛试题

图1中小车行驶轨迹外沿为100cm×100cm的正方形,边线为黑色,线宽1.8cm=0.2cm。如图1所示,在距离AB线段外50cm处竖立目标靶,靶面与与AB平行,高度<50cm。目标靶面采用A4幅面紫外感光纸,可显示光斑驻留的痕迹。用红色油性记号笔在靶的中心标一个点作为靶心,靶心心直径<0.lcm,并以此为圆心分别以2、4、6、8和10cm为半径画红色圆,圆弧线宽度<0.lcm。瞄准模块以小车为载体,利用二维云台控制蓝紫激光笔发射激光的方向,使激光光斑落在目标靶上,靶上光斑直径<0.55cm。

2025-07-31 09:50:48 1486

原创 简易以太网双绞线测试仪(D题)--2025 年全国大学生电子设计竞赛试题

设计并制作一个简易以太网双绞线测试仪(简称测试仪),如图1所示。待测以太网双绞线(简称线缆)通过RJ45连接器与测试仪连接。线缆双端接入测试仪,测量线缆的线对连接关系(直连、交叉)、类型(非屏蔽又双绞线UTP、双屏蔽双绞线SFTP)、直流电阻,以及交流衰减;线缆单端接入测试仪,量线缆的长度和短路位置。测试仪由不大于6V的单电源供电。

2025-07-31 09:43:21 694

原创 基于单目视觉的目标物测量装置(C题)--2025年全国大学生电子设计竞赛试题

设计制作基于单目视觉的目标物测量装置,用于测量并显示基准线到目标物的距离D(见说明)、目标物平面(简称物面)上几何图形的边长或直径x,测量系统组成如图1所示。测量电路和单目摄像头组成测量装置,如图2所示,由外部5V直流稳压电源供电。

2025-07-30 19:23:59 2084

原创 单相有源电力滤波实验装置(B题)--2025年全国大学生电子设计竞赛试题

设计并制作如图1所示单相有源电力滤波实验装置(简称装装置),检测并显示非线性负载电流il及其谐波成分与含量,控制有源电力滤波器(APF)产生补偿电流车,降低网侧电流is中谐波含量。非线性负载电路如图2所示,开关KD用以切换半波、桥式整流,开关Kc用以切换有、无电容滤波,测试时电容可在1000~10000uF(电容额定电压不低于100V)范围内设置。

2025-07-30 19:18:57 731

原创 能量回馈的变流器负载试验装置(A题)--2025年全国大学生电子设计竞赛试题

(1)变流器1能输出fi=50Hz、线电压U|=32V±0.25V、额定线电流 1=2A的三相对称。(3)变流器1输出50Hz、U-32V+0.25V的三相交流电,在0A~2A间变化时,要。在基本要求(1)的工作条件下,要求输出交流电压总谐波畸变率(THD)不大于。(4)要求变流器1输出交流电的频率范围为20Hz~100Hz,步进1Hz。求负载调整率Su<0.3%。

2025-07-30 19:13:38 623

原创 2025 年全国大学生电子设计竞赛仪器设备和主要元器件及器材清单

电动小车(外形尺寸:长度<25cm,宽度<15cm,高度<25ccm;射频信号源(9kHz~500MHz,-100dBm~0dBm,具有射频输出开关功能)直流稳压电源(具有恒流/恒压模式自动切换功能,0~30V/3A,双路)电动小车(外形尺寸:长度≤35cm,宽度≤25cm,高度≤35cm。微处理器最小系统板(可含板载调试下载模块)单相变压器(100VA,220V/24V)数字示波器(500MHz,双通道)信号发生器(100MHz,双通道)数字示波器(60MHz,双通道)UTP型网线、SFTP型网线。

2025-07-30 19:07:50 508

原创 RK3588移植paho.mqtt客户端库

本文介绍了在RK3588开发板上移植paho.mqtt库的完整过程。首先克隆v1.3.8版本的paho.mqtt库并解压,然后创建openssl依赖路径并拷贝已安装的openssl库文件。通过cmake配置交叉编译环境,指定编译器、openssl路径和安装目录,完成编译和安装后,将生成的库文件压缩并部署到开发板的/usr/lib目录下。整个过程详细说明了从源码编译到最终部署的各个步骤,适用于在已移植openssl库的开发板上添加MQTT功能支持。

2025-07-22 09:00:00 617

原创 RK3588移植Openssl库

本文介绍了OpenSSL库的移植过程:首先克隆OpenSSL源码并解压,安装arm64交叉编译工具链。通过配置命令指定交叉编译器前缀和安装路径,生成Makefile时需注意注释32位相关参数。编译安装后将生成的.so动态库打包并部署到目标板/usr/lib目录下,完成OpenSSL库的交叉编译移植。整个过程涉及源码配置、交叉编译参数调整和库文件部署等关键步骤,为后续MQTT协议实现奠定基础。

2025-07-21 17:25:09 453 2

原创 关于怎么查看RK3588的CPU、NPU温度和占用率的教程

本文介绍了查看设备NPU占用率和温度的方法。通过指令cat/sys/kernel/debug/rknpu/load可查看NPU占用率。温度监测有两种方式:1)直接读取传感器数据,cat/sys/class/thermal/thermal_zone*/temp返回数值需除以1000得到摄氏度;2)安装lm-sensors工具后使用sensors命令查看。这些方法适用于系统性能监控和温度管理。

2025-07-16 17:50:23 1491

原创 关于RK3588在yolov8-pose中onnx文件转rknn失败问题

解决YOLOv8n-pose模型转RKNN时输出节点不匹配问题 在将YOLOv8n-pose模型转换为RKNN格式时,遇到输出节点名称不存在的报错。通过使用Netron工具查看模型结构,发现需要修改convert.py文件中最后输出节点的名称,将其改为实际模型中的输出节点名称(model.22/Concat_6_output_0)。修改后成功完成模型转换,验证输出为四个检测头。该问题解决方案适用于类似模型转换时的节点名称匹配问题。

2025-07-10 14:47:45 398

哈希算法的MD5工具的使用教程

MD5工具分享

2025-10-29

空空如也

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

TA关注的人

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