- 博客(29)
- 收藏
- 关注

原创 基于STM32U575RIT6智能除湿器项目
摘要:本项目实现了一款基于STM32的智能除湿器系统,通过SHT20传感器实时监测环境温湿度,并采用PID控制算法自动调节工作模式。系统具备三种工作模式(自动/除湿/控温),LCD屏实时显示温湿度、设备状态及阈值参数,支持按键和串口指令双重控制。关键功能包括:1)上电自检电压及外设状态;2)根据设定阈值自动启停风机、冷凝片和加热片;3)每2秒通过串口上传设备状态数据;4)支持阈值参数动态调整。硬件采用STM32F4系列为主控,集成SPI接口LCD、I2C温湿度传感器及UART通信模块,软件使用HAL库开发,
2025-06-20 19:57:56
835

原创 c++:封装、继承、多态
本文系统介绍了 C++ 面向对象编程的三大核心特性:封装通过类将数据与操作绑定,利用访问控制修饰符隐藏内部细节,提升安全性与可维护性;继承让子类获取父类属性方法,单继承简洁,多继承需注意菱形继承问题(可通过虚继承解决),实现代码复用;多态借助虚函数使同一接口在不同对象中表现不同行为,纯虚函数定义抽象接口,虚析构防止内存泄漏,三者共同构建起灵活健壮的编程体系。
2025-06-20 18:55:22
743
1

原创 “智擎”工业设备监测管理系统(边缘计算网关)
本项目基于工业 4.0 数字化转型背景,构建边缘计算驱动的三层架构系统(用户层、网关层、设备层),通过 Modbus 协议与 STM32 外设实现设备数据采集与远程控制,利用 MQTT/HTTP 协议完成网页端、QT 客户端及元宇宙平台的多端数据交互,结合 mjpg-streamer 实现视频流监控,边缘节点实时分析实现故障预测。项目解决 WIFI 连接、数据传输异常等问题,系统延迟控制在50ms内,实现工厂设备智能化远程监控与虚拟仿真管理,为工业数字化转型提供集成方案。
2025-06-20 16:11:47
706
1

原创 基于搜索协议实现工业设备升级
本文介绍了基于UDP和TCP协议的工厂设备升级文件传输系统。系统采用UDP广播发现设备,TCP可靠传输升级文件,并使用多线程实现并发处理。服务器端通过UDP广播通知设备升级信息,设备响应后建立TCP连接接收文件。系统还集成了SQLite数据库记录升级日志。源码展示了主控端和设备端的实现,包括广播发送、文件传输和多线程处理等关键功能。注意事项中特别指出线程传参时地址复用的问题解决方案。该系统有效模拟了工业环境中设备升级的网络通信流程。
2025-06-20 10:38:10
838
1

原创 使用Qt实现多人聊天工作室
本文介绍了一个基于Qt框架开发的多人聊天室项目。项目包含服务器和客户端架构设计,实现了注册登录、群发/私发消息、文件传输等功能。服务器采用模块化设计,包含网络、用户管理、消息处理和持久化模块;客户端分为用户界面、网络通信和行为响应模块。项目实现了用户界面设计、消息帧封装、历史记录查询等关键技术,并通过效果图展示了注册登录、消息发送、文件传输等功能。最后总结了项目经验,表明了对未来功能扩展和技术提升的展望。该项目作为网络编程和GUI开发的实践案例,具有良好的实用性和扩展性。
2025-06-19 16:49:03
820
1

原创 基于WebServer的工业数据采集项目
本文介绍了一个基于WebServer的工业数据采集项目,实现了网页对传感器数据的采集和硬件设备的控制。系统采用HTTP协议实现网页与WebServer的交互,通过ModbusTCP协议与仿真设备通信。WebServer与采集程序间使用共享内存传输数据,消息队列传递控制指令。项目包含传感器数据采集(光线、加速度XYZ)和硬件控制(LED灯、蜂鸣器)两大功能模块,通过HTML界面提供用户操作接口。系统架构清晰,实现了工业设备的远程监控与控制。
2025-06-18 21:12:27
1211
1

原创 C语言——学生成绩管理系统
采用分文件管理方式进行编写,main函数中主要包含一个菜单函数与输入函数,菜单函数即是进入程序的界面,封装输入函数包括各种功能函数如输入学生成绩、求平均值等功能;清屏函数,退出函数通过直接引用函数system("clear")与函数exit(0)即可,切记引用头文件#include <stdlib.h>进行声明。5.输入命令 A ,调用aver函数计算平均分,提示“平均分已计算。printf(" * T=成绩录入 * \n");
2025-03-17 18:41:41
837
原创 ADC 采集信号的各类滤波算法及对应的具体实现方法
本文介绍了11种ADC信号采集中的常用滤波算法,包括卡尔曼滤波、算术平均滤波、递推平均滤波、中位值平均滤波、限幅平均滤波、指数加权移动平均滤波、一阶滞后滤波、加权递推平均滤波、消抖滤波、自适应滤波、巴特沃斯低通滤波器和Savitzky-Golay滤波器。每种算法详细阐述了原理、优缺点及适用场景,如卡尔曼滤波适合动态系统状态估计,算术平均滤波简单但响应慢,而自适应滤波能根据信号特性动态调整参数。文中还提供了各算法的C语言实现代码。这些滤波方法能有效抑制噪声、平滑数据并去除异常值,帮助工程师根据具体应用需求选择
2025-08-19 08:31:52
892
原创 关于IAR使用调试详解
本文详细介绍了IAR集成开发环境的主要功能模块和使用方法。主要内容包括:1)各功能菜单详解,如文件、编辑、视图、工程、调试等菜单的操作说明;2)常用设置技巧,包括代码模板插入、自动补全和缩进功能;3)编译调试流程,重点说明了不同调试器的差异以及调试窗口的功能。文章通过具体操作示例和快捷键提示,全面展示了IAR开发环境的核心功能,为开发者提供了实用的使用指南。
2025-08-18 10:42:36
877
原创 STM8小白快速入门开发指南
本文介绍了STM8单片机的开发基础,涵盖工程创建、GPIO配置、中断控制器、定时器、独立看门狗、串口通信、SPI接口和存储器管理等核心模块。详细讲解了各功能模块的寄存器配置方法,并提供了LED控制、外部中断、定时器中断、看门狗复位检测、串口收发、SPI通信等典型示例代码。通过IAR开发环境搭建、寄存器级编程方法,展示了STM8外设的控制技巧,为开发者提供了实用的STM8学习参考。
2025-08-18 10:26:30
311
原创 STM32 单片机全图解:从芯片架构到入门指南
在STM32的学习过程中,将使用stm32最小系统板+面包板硬件平台进行学习和练习,硬件平台如上图所示,将STM32最小系统板(上图蓝色板子)插在面包板上,作为基本的硬件单元,下面插上一块0.96寸的OLED(右下角黑色板子)作为调试和显示的屏幕,在调试程序时,可以把程序中的变量显示在这个屏幕上,这样调试起来就会比较方便;右边的STLINK(紫色部分)插在电脑上用于下载程序和供电;最上面的是蜂鸣器模块;使用面包板可以完成任意电路的连接,接线和修改都是非常方便的;
2025-06-25 13:36:32
1025
原创 【通信协议】一文搞懂I2C(IIC)
摘要:I2C总线是一种串行通信协议,采用双线制(SDA数据线和SCL时钟线)实现多主从设备间的数据传输。它具有简单灵活、支持多主机仲裁、速率可选(标准100kbit/s至高速3.4Mbit/s)等特点。总线通过起始信号、数据有效性规则(SCL高电平时SDA保持稳定)、应答机制(ACK/NACK)和停止信号控制通信流程。设备通过唯一地址识别,采用漏极开路输出需外接上拉电阻。I2C为半双工通信,广泛应用于微控制器与传感器、存储器等外设的连接,分为硬件I2C(专用电路)和软件I2C(GPIO模拟)两种实现方式。(
2025-06-25 10:40:03
796
原创 【STM32】串口不定长接收 保姆级教程
串口不定长接收的实现方法主要有两种:通过串口空闲中断的传统方式和结合DMA的高效方式。传统方法通过每次接收单个字符触发中断,在空闲中断时处理完整数据帧,但会频繁占用CPU资源。更优方案是利用DMA控制器自动管理数据传输,仅在数据接收完成时触发空闲中断处理,大幅提升系统效率。这两种方法都需要配置空闲中断标志位的清除操作,并采用接收缓冲区和计数器来管理数据。DMA方式尤其适合高波特率通信场景,能有效降低CPU负担。实现步骤包括:初始化相关中断标志、设置接收缓冲区、在中断服务函数中处理数据帧并重置接收状态。
2025-06-25 10:11:47
1191
原创 GPIO(通用输入/输出端口)
本文介绍了STM32G0x0系列微控制器的GPIO基础知识与应用。GPIO作为通用输入输出接口,可实现数字信号输入输出、中断触发、模拟信号处理等功能。文章详细解析了GPIO寄存器工作原理,包括输入模式(浮空、上拉、下拉、模拟)和输出模式(推挽、开漏)的配置方法。通过LED点灯实例,展示了GPIO从原理图分析到寄存器配置的完整应用流程。GPIO在嵌入式系统中具有控制外设、传感器交互等重要作用,掌握其工作原理对嵌入式开发至关重要。(149字)
2025-06-24 20:39:39
1044
原创 继电器模块的使用(超详细)
继电器模块是一种基于电磁感应的电控开关,主要由电磁线圈和触点组构成。通电时线圈产生磁场吸引铁芯,带动触点切换状态(常开触点闭合、常闭触点断开),实现电路控制与电气隔离。典型模块包含VCC(电源正极)、GND(地)、IN(控制信号输入)、COM(公共端)、NO(常开触点)和NC(常闭触点)等引脚。使用时需共地连接,通过控制IN引脚电平(高电平导通NO回路,低电平恢复NC回路)来切换负载电路。该模块广泛应用于需要安全控制高电压/电流的自动化系统中。
2025-06-24 20:11:33
745
原创 ADC(模数转换)详解
STM32 ADC(模数转换器)详解 摘要:文章详细介绍了STM32微控制器中的ADC模块工作原理及配置方法。ADC用于将模拟信号转换为数字信号,具有12位分辨率、19个转换通道(16个外部+3个内部)、0-3.6V量程等特性。重点解析了四种工作模式:单通道单次转换、单通道连续转换、多通道扫描模式单次转换以及多通道连续转换。通过光照/火焰传感器采集实例,详细说明ADC配置流程,包括启动转换、等待转换完成、获取结果等关键操作步骤。最后介绍了多通道扫描模式下利用EOC/EOS信号的处理方法,为开发者提供了完整的
2025-06-24 17:34:01
634
原创 STM32启动流程详解(超全,startup_stm32xx.s分析)
STM32单片机上电启动流程主要包括:首先初始化堆栈指针和PC指针,配置中断向量表和系统时钟,随后调用_main函数初始化用户堆栈并进入main函数。STM32有三种启动模式:主闪存启动(默认模式)、系统存储器启动(用于串口下载程序)和SRAM启动(用于调试),通过BOOT引脚配置。启动文件负责完成堆栈分配、向量表设置和复位程序执行,其中复位程序会调用SystemInit()和__main()初始化系统并跳转到用户程序。开发者可根据需求修改栈/堆大小,并在C文件中实现具体的中断服务程序。
2025-06-24 17:17:47
1284
原创 STM32的中断系统详解(嵌入式学习)
STM32中断系统详解 摘要: STM32中断系统由NVIC和EXTI组成,实现高效的事件响应机制。NVIC负责管理中断优先级和嵌套处理,支持多达256级优先级配置,确保高优先级中断优先响应。EXTI专门处理外部中断,可配置上升/下降沿触发,并区分中断(软件处理)与事件(硬件触发)。系统通过中断向量表自动跳转至ISR,保存现场后处理中断。中断处理流程包括请求检测、上下文保存、ISR执行和现场恢复。这种机制实现了多任务并行处理,提高了系统实时性和CPU效率,广泛应用于各类嵌入式系统中。
2025-06-22 21:12:10
584
原创 STM32串口通信详解(嵌入式学习)
通用同步异步收发器(USART)提供了一个灵活的方式,使 MCU 可以与外部设备通过工业标准 NRZ 的形式实现全双工异步串行数据通讯。USART 可以使用分数波特率发生器,提供了超宽的波特率设置范围。USART 支持同步通讯模式和半双工单线通讯。也支持 LIN(本地互联网络),智能卡协议和IrDA(红外数据协会)SIR ENDEC 规范和 modem 流控操作(CTS/RTS)同时还 支持多机通讯方式。可以使用 DMA 实现多缓冲区设置,从而能够支持高速数据通讯。
2025-06-22 21:01:21
976
原创 epoll实现并发服务器
摘要:epoll是Linux高效处理大量文件描述符的事件通知机制,相比select和poll具有更好的性能和扩展性。本文介绍了epoll的核心结构epoll_event,以及三个关键系统调用:epoll_create创建实例、epoll_ctl管理文件描述符、epoll_wait等待事件。通过示例代码演示了如何实现基于epoll的并发服务器,包括创建监听套接字、绑定地址、epoll事件处理循环等核心步骤。epoll采用边缘触发模式,适用于高并发场景,但需注意资源管理。该机制是Linux特有,其他系统可能使用
2025-06-22 20:33:45
315
原创 STM32&ARM体系结构(嵌入式学习)
本文介绍了STM32微控制器系列和ARM体系结构。STM32是意法半导体推出的32位ARMCortex-M系列MCU,具有高性能、低功耗和丰富的外设集成特点,广泛应用于工业自动化、消费电子等领域。文章详细解析了STM32的命名规范、优势及主流产品系列。 在ARM体系结构方面,文章阐述了ARM公司、处理器架构和技术,比较了RISC与CISC的区别,介绍了Cortex-M3内核架构的关键特性,包括工作模式、寄存器组织、中断异常机制和Thumb-2指令集。同时分析了处理器架构中的存储器类型(Flash和SRAM)
2025-06-22 20:27:41
1051
原创 嵌入式软件学习指南:从入门到进阶
摘要:嵌入式软件是物联网、汽车电子等领域的核心技术,具有资源受限、实时性强等特点。知识体系涵盖硬件基础(MCU/通信协议)、编程语言(C/C++)、操作系统(RTOS/Linux)及调试优化技巧。学习路径建议分三阶段:从C语言和开发板入门,到RTOS和多协议实战,再到专业领域深耕。推荐资源包括经典书籍、在线课程和开发板。文章还解答了程序调试、低功耗优化等常见问题,指出嵌入式开发需要软硬件结合能力,未来随着AIoT发展需求将持续增长。
2025-06-20 20:39:10
633
原创 如何构建高效且实用的编程学习笔记系统
摘要:本文介绍了如何构建高效的编程学习笔记系统,包括明确学习目标、选择合适的工具(如Notion)、精简记录技巧(结构化思维、多媒体辅助)、定期复习更新等环节。通过分类管理、思维导图、代码片段等具体方法,帮助开发者建立系统的知识库,并建议通过博客写作和社群交流来巩固知识。这套笔记系统能够有效提升学习效率,促进知识的长期积累和实践应用,是编程学习者不可或缺的"知识宝库"。
2025-06-20 20:29:18
699
原创 【RTOS面试题】RTOS是什么?RTOS有哪些特点?RTOS的应用场景、RTOS的选择以及常见RTOS有哪些
实时操作系统(RTOS)是为严格时限应用设计的系统,具有快速响应、高效调度和优先级继承等特点。RTOS广泛应用于工业控制、汽车电子、医疗设备等领域,与通用操作系统相比更强调实时性、低资源占用和可预测性。选择RTOS需考虑系统需求、硬件兼容性等因素,常见的有FreeRTOS、μC/OS-II等。RTOS在嵌入式系统中对保证实时性和可靠性起着关键作用,合理选用能显著提升系统性能。
2025-06-20 20:25:36
1062
原创 ARM 架构硬件新趋势:嵌入式领域的未来
摘要:随着物联网和边缘计算的兴起,ARM架构因其低功耗、高性能特性在嵌入式系统中广泛应用。本文探讨了ARM架构的三大发展趋势:1)AI加速器集成(如Ethos-N系列NPU),显著提升计算性能并降低功耗;2)高效电源管理技术(动态电压频率调节和智能休眠),延长设备续航能力;3)安全性增强(TrustZone技术和加密加速器),构建可信执行环境。这些创新推动了智能设备发展,优化了用户体验,展现了ARM在嵌入式领域的持续引领作用。
2025-06-20 20:19:03
369
原创 【Keil5教程及技巧】全网最全Keil5(MDK-ARM)功能详细介绍【建议收藏-细细品尝】
Keil μVision5 是一款功能强大的 ARM 微控制器集成开发环境。本文从 11 个方面详细介绍了其功能和使用方法:文件操作(新建/打开/保存工程、设备数据库、授权管理)、编辑功能(撤销/重做、书签管理、查找替换)、视图配置、工程管理(目标配置、C/C++设置、链接器选项)、Flash 编程、调试工具(断点设置、单步执行)、外设工具、版本控制、窗口布局以及帮助文档。重点讲解了工程配置中的关键参数设置,包括存储器分配、编译优化、调试选项等,并提供了常用功能的快捷键说明。通过本文可以全面掌握 Keil
2025-06-20 20:15:01
1429
原创 网络编程项目(云词典项目)
这是一个基于C语言的云词典系统实现,包含服务器端和客户端程序。系统主要功能包括:用户注册/登录、单词查询和历史记录查看。服务器使用socket网络通信、select多路复用和SQLite数据库管理用户数据、单词库及查询历史。客户端提供交互式界面,支持远程访问服务器功能。关键技术点包括:TCP网络通信、数据库操作(用户验证、单词查询、历史记录存取)、多客户端并发处理。该系统实现了基本的在线词典功能,包括用户认证机制和查询历史追踪,展示了C语言网络编程和数据库操作的典型应用。
2025-06-20 10:01:54
137
原创 网络编程项目(速递项目)
这是一个基于C/S架构的快递管理系统,实现了用户寄件、查件和快递员派件的核心功能。系统采用SQLite数据库存储数据,包含三个客户端模块:服务器、用户端和快递员端。用户端提供注册登录、寄件查件、修改订单和账户管理功能;快递员端支持订单查询、配送管理和历史记录查看。服务器使用select多路复用处理并发请求,通过TCP协议与客户端通信。数据库设计包含用户表、快递信息表和历史记录表,确保数据完整性和操作可追溯性。系统采用模块化设计,各功能独立封装,具有良好的可扩展性。
2025-06-20 09:28:38
410
1
原创 简单粗暴——用程序叫室友去打水
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、准备阶段 二、操作步骤 成果展示前言当你想叫室友帮你打水,但是他却在打游戏怎么快速让他跟你一起去打水,那么有趣的来了,我们可以写个小程序来叫室友去打水。一、准备阶段pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、操作步骤首先打开命令提示符窗口,输入pip install pyautogui接下来在pychar...
2022-05-23 23:39:52
150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人