- 博客(415)
- 资源 (89)
- 收藏
- 关注
原创 单片机0-10V电压输出电路分享
GP8101是一款PWM转模拟信号的专用DAC芯片,可线性转换0-100%占空比的PWM信号为0-5V/10V模拟电压输出,精度优于1%。该芯片支持50Hz-50kHz的PWM输入频率,3-5.5V高电平,工作电压10-15V,功耗低于2mA,启动时间<2ms。GP8101M版本需配合高频调制APC芯片实现信号隔离。设计时需在输出端添加0.1uF去耦电容,长距离传输建议增加缓冲电路,输出电压范围可通过外接电阻调整。芯片采用SOP8封装,工作温度范围-40℃至85℃。
2025-06-06 17:25:25
136
原创 单芯片电流采用电路分享
CC6900SO是一款高精度线性霍尔效应传感器芯片,适用于电流检测和位置测量。它具有3.0V-5.5V宽工作电压、5mV/Gauss高灵敏度和2.5mA低功耗特性,支持线性磁场测量并内置温度补偿。典型应用包括电流检测、电机控制和位置传感器。使用时需注意输出特性:无电流时输出50%VCC,电流方向不同时输出在0%-100%VCC范围内变化。布局需考虑去耦电容和ESD防护,实际应用需进行校准。选型时需根据参数规格选择合适型号。
2025-06-06 17:20:44
49
原创 Qt多线程访问同一个数据库源码分享(基于Sqlite实现)
Qt多线程数据库访问实现方案 本文分享了基于SQLite的Qt多线程数据库访问实现方案,主要解决以下关键问题: 线程安全设计: 使用单例模式管理数据库连接 每个线程拥有独立数据库连接(QSqlDatabase) 通过线程ID映射维护连接池(QHash<Qt::HANDLE, SqliteHelper*>) 同步机制: 采用QMutex保护关键操作(mutexCreateSql/mutexUpdateSql) 使用QMutexLocker确保资源_O锁 实现特点: 提供lockExec()方法封装
2025-06-05 16:01:56
439
原创 Qt实现一个悬浮工具箱源码分享
Qt悬浮工具箱组件实现 该代码实现了一个可悬浮、可扩展的Qt工具箱组件,具有以下特性: 基础功能: 无边框窗口,支持透明背景 始终置顶显示 初始为75x75的方形图标 交互功能: 左键拖动可移动位置 右键点击展开为3x3按钮网格 自动检测边界防止超出父窗口范围 实现细节: 使用事件过滤器处理鼠标交互 支持样式表绘制 按钮点击发射信号传递功能标识 展开时自动调整位置保持可见 效果展示: 默认显示工具箱图标 展开后显示8个功能按钮(代码显示部分按钮连接示例) 图标会在展开/收起状态切换 组件采用Qt框架实现,具
2025-06-05 15:38:02
183
原创 IR2104电机H桥驱动电路分享
IR2104STRPBF是一款高压半桥驱动器芯片,用于控制功率MOSFET/IGBT。核心特点包括:600V高侧浮置电压、±290mA驱动电流、高频工作支持及内置死区保护。需注意12V供电但兼容3.3V逻辑电平,PWM占空比不能100%(因自举电路限制),电机电源可达600V。典型应用需关注自举电容选型、散热布局和噪声抑制。该芯片通过高/低侧驱动通道配合电平移位器实现安全可靠的功率开关控制,适用于电机驱动和逆变器等高压场合。
2025-06-05 14:01:35
256
原创 电源双路径自动切换电路(具有优先级)分享、UPS电路分享
本文介绍了一种基于LTC4418芯片的电源双路径自动切换电路设计方案。该方案采用ADI公司的LTC4418IUF#TRPBF电源管理IC,具有4.5V-36V宽电压输入范围,支持双电源优先级切换(1通道优先)、理想二极管控制和负载共享功能。电路采用3mm×3mm DFN封装,内置MOSFET控制实现低导通损耗,并具备快速切换响应和过流保护特性。适用于UPS、便携设备、工业控制系统等需要高可靠性电源切换的场合,通过PMOS管搭建外围电路实现双电源自动切换,其中VALIDEx引脚为开漏输出设计。
2025-06-05 13:53:39
811
原创 2-6S锂电池充电(升降压一体式)电路分享
本文分享了基于英集芯IP2366芯片的2-6S锂电池升降压充电电路设计。该芯片支持PD/QC等主流快充协议,最大5A充电电流和100W输出功率,集成同步升降压和多重保护功能。设计要点包括:选用SGT类型MOS管、电流采样走差分线、优化大电流走线布局。原理图和详细设计注意事项可通过文首链接获取。该方案适用于移动电源等需要宽电压范围充放电的锂电池应用场景。
2025-06-04 10:33:52
485
原创 中颖SH367309制作1-17串锂电池保护板(BMS)原理图、源码分享
本文分享了基于中颖SH367309芯片的1-17串锂电池保护板(BMS)设计方案,包含原理图与源码实现。BMS核心功能包括电池状态监测、均衡管理、过充/过放保护及通信接口。硬件设计采用模块化布局,提供电池负极、负载地、热敏电阻等接口连接。源码部分展示了IIC驱动实现,涵盖初始化、起始/停止信号、字节收发等底层操作。该方案适用于电动汽车、储能系统等领域,具有高精度监测、智能均衡和多重保护机制,可有效提升电池组安全性与使用寿命。
2025-06-04 07:45:49
932
原创 Qt 仪表盘源码分享
Qt仪表盘控件源码分享 摘要:本文分享一款基于Qt开发的仪表盘控件源码,该控件具有以下特点: 可视化效果好 - 采用圆形表盘设计,支持刻度线、数值显示和指针指示 功能完善 - 可设置数值范围、当前值、危险阈值和单位显示 实时更新 - 通过setCurrentValue()方法可动态更新指针位置 定制灵活 - 支持调整表盘半径、起始角度、刻度颜色等参数 轻量易用 - 代码简洁(仅200行左右),采用纯QPainter绘制,不依赖第三方库 控件采用分层绘制策略,包括背景圆环、刻度线、数值标记、指针和中心文本等元
2025-06-03 15:36:01
557
原创 STM32+腾讯物联网平台OTA升级详细教程
本文介绍了STM32通过腾讯物联网平台实现OTA(Over-The-Air)升级的详细教程。首先,文章解释了OTA升级的定义及其在智能手机、汽车和智能家居等领域的应用场景,并详细描述了OTA升级的四个步骤:检测更新、下载更新
2025-05-23 17:10:26
1309
原创 修改nmeaLib库增加北斗(BD)和格洛纳斯(GNSS)解析
本文介绍了NMEA协议及其在导航设备中的应用,并详细说明了如何下载和使用nmealib库进行NMEA数据解析。NMEA协议由美国国家海洋电子协会制定,主要用于标准化海上电子设备之间的通信,广泛应用于航海、航空和汽车导航等领域。NMEA数据以ASCII字符串形式传输,通常以“$”开头,以“*”和校验和结束。文章还介绍了NMEA的常见消息类型、数据格式、通信方式及其优势。此外,提供了Python代码示例,展示了如何解析NMEA句子并提取有用信息。最后,文章介绍了如何修改nmealib库以支持更多协议类型,并提供
2025-05-23 11:13:49
1086
原创 STM32+rt-thread使用MQTT协议连接腾讯物联网平台
选rt-thread平台就行,这都是人家写好的,可以直接使用。只复制图中4个文件夹就可以。SDK文章顶部下载。
2025-05-22 14:10:36
570
原创 Qt 最新版6.9.0使用MQTT连接腾讯云详细教程
1. 概述2. 特点3. 架构4. 工作流程5. 应用场景点击链接Qt MQTT选择Qt版本下载将下载的源码解压后用Qt打开。直接点击左下角编译编译成功后会出现下图中的几个文件夹:1、首先将lib文件夹中的和拷贝到自己工程中2、将下载源码中目录中的头文件全部拷贝到自己工程对应目录中:完成如下:3、在自己工程中添加库:右键工程选择库和对应头文件目录:点击确定就OK了。2、定义一个mqtt客户端3、实例并连接相关信号与槽4、连接服务器对应的参数在腾讯云上查看
2025-05-22 09:03:24
830
原创 rt-thread+STM32H7移植lwip出现问题解决方法
在处理STM32H7系列芯片的网络问题时,主要遇到三个问题:ping不通或丢帧、Keil优化后无法联网、网络断断续续。这些问题主要与MPU配置和drv_eth驱动相关。通过调整MPU配置,确保ETH DMA描述符和RX缓冲区的正确缓存设置,可以解决这些问题。MPU配置中,ETH相关区域被设置为不可缓存且可缓冲,以确保数据传输的稳定性。此外,drv_eth驱动中的调试选项和PHY状态检测过程也进行了优化,以提升网络连接的可靠性。通过这些调整,网络问题得到了有效解决。
2025-05-10 09:17:04
252
原创 C++ algorithm详解
是 C++ 标准库中的一个头文件,提供了许多用于处理序列和容器的通用算法。这些算法通常接受迭代器作为参数,使得它们可以应用于各种类型的容器。头文件提供了丰富的算法,可以帮助你高效地处理数据。通过使用这些算法,你可以编写更简洁、更高效的代码。希望以上内容对你有所帮助!
2025-04-27 09:57:16
427
原创 C++ STL容器详解
C++ 标准库提供了多种容器类,用于存储和管理数据。这些容器类分为两大类:序列容器和关联容器。选择合适的容器类取决于具体的应用场景和性能需求。需要随机访问且频繁增删操作时,使用或std::deque。需要高效插入和删除操作时,使用std::list或。需要有序集合时,使用std::set或std::map。需要快速查找时,使用或。需要栈或队列功能时,使用std::stack或std::queue。
2025-04-27 09:09:31
650
原创 Qt QWidget介绍及学习方法路线分享
QWidget 是什么?QWidget是 Qt 框架中最基本的图形用户界面组件类。所有的可视控件都直接或间接继承自QWidget。重写绘图事件通过重写paintEvent方法来自定义控件的绘制。protected:QWidget是Qt中的基本控件类,用于创建用户界面的各种元素。它是所有用户界面控件的基类,包含了各种属性和方法,可以用来创建和管理各种用户界面元素。一些常见的QWidgetQLabel:用于显示文本或图像的标签控件。:用于触发操作的按钮控件。QLineEdit。
2025-04-19 07:17:51
792
原创 C语言select函数详解
select是一个用于多路复用 I/O 的系统调用,它允许程序监视多个文件描述符(file descriptors),等待其中任何一个变为就绪状态。
2025-04-18 07:35:25
377
原创 Qt QWidget实现自己的桌面萌宠源码分享
在Qt中,QLabel被广泛用于显示静态文本、图标和图片,并且可以与其他Qt控件一起使用,以及支持一些基本的交互功能。显示图像:可以使用setPixmap()方法设置QLabel显示的图像。总的来说,QLabel是一个简单而灵活的显示控件,可以通过多种方法来设置显示内容和样式,适用于各种Qt应用程序中用于展示信息的场景。显示文本:使用setText()方法设置QLabel显示的文本内容。文本对齐:可以使用setAlignment()方法设置文本在QLabel中的对齐方式,包括水平对齐和垂直对齐。
2025-04-17 11:10:15
715
原创 正则表达式详解
正则表达式是一种用来描述字符串模式的工具,用于匹配、搜索和替换文本中的特定模式。它是由字符和操作符组成的表达式,可以用来检查字符串是否符合某种模式或进行字符串的匹配和替换操作。正则表达式在文本处理、数据提取、字符串匹配等领域都有广泛的应用。\d:匹配任意一个数字,等同于 [0-9]。\D:匹配任意一个非数字,等同于 [^0-9]。\w:匹配任意一个字母、数字或下划线,等同于 [a-zA-Z0-9_]。\W:匹配任意一个非字母、数字或下划线,等同于 [^a-zA-Z0-9_]。\s。
2025-04-16 08:02:45
1210
原创 LVGL Video控件和Radiobtn控件详解
video是 LVGL 提供的一个用于播放视频的控件。依赖:需要外部的视频解码库(如 FFmpeg)来处理视频文件。功能lv_radio控件用于在多个选项中选择一个。特点:单选按钮,一次只能选择一个选项。
2025-04-16 00:13:57
932
原创 LVGL Lottie控件和Carousel控件详解
Lottie是一种用于在应用中显示动画的格式。LVGL Lottie 控件允许在LVGL项目中使用Lottie动画。Carousel是一个用于展示多个页面或卡片的控件。用户可以通过滑动或点击导航按钮在不同的页面之间切换。
2025-04-15 08:25:13
1194
原创 LVGL Barcode控件和Qrcode控件详解
条形码控件用于生成和显示条形码。用途:适用于需要生成和显示条形码的应用场景,如产品标签、库存管理等。功能:QR码控件用于生成和显示二维码。用途:适用于需要生成和显示二维码的应用场景,如支付、登录验证等。
2025-04-15 07:55:11
918
原创 LVGL AnalogClock控件和Dclock控件详解
时钟是LVGL中的一个基本控件,用于显示当前时间。使用时钟控件,开发人员可以在界面上显示当前时间,并根据需要自定义时钟的外观和行为。
2025-04-13 07:45:35
553
原创 LVGL Button matrix和LED控件详解
按钮矩阵是 LVGL 提供的一种控件,用于创建一组按钮。这些按钮可以是文本或图标形式,并且可以分组显示。按钮矩阵是一种灵活的控件,适用于需要多个按钮的场景。通过设置按钮文本、样式和事件处理,可以实现丰富的交互功能。功能:LVGL LED控件用于模拟现实世界中的LED灯。用途:常用于状态指示、UI装饰等。
2025-04-13 07:45:19
884
原创 LVGL Arc控件和Roller控件详解
1. 介绍Arc 控件是 LVGL 库中的一个基本图形控件,用于显示圆形或弧形。常用于进度条、仪表盘等场景。2. 主要属性角度范围 (start_angle, end_angle)定义弧的起始和结束角度。旋转方向 (dir)指定弧的绘制方向(顺时针或逆时针)。宽度 (width)设置弧线的宽度。背景 (bg_color, bg_opa)设置背景颜色和透明度。线条颜色 (color, opa)设置弧线的颜色和透明度。Roller是 LVGL 中的一种控件,用于显示一个滚动选择列表。
2025-04-12 09:02:27
797
原创 LVGL Colorwheel控件和Canvas控件详解
Colorwheel是 LVGL 中的一种控件,用于让用户通过旋转色轮来选择颜色。色轮通常显示为一个圆形,用户可以通过触摸或鼠标操作来选择颜色。可以通过添加自定义样式。样式属性包括背景颜色、边框、指示器颜色等。Canvas是 LVGL 中的一个对象,用于在屏幕上绘制自定义图形。它提供了一个缓冲区,可以在其中进行像素级别的操作。
2025-04-12 09:01:57
1332
原创 LVGL Meter和Spinbox详解
LVGL Meter是 LVGL 库中的一个组件,用于显示各种类型的仪表盘。它可以用来表示进度、数值范围、多个指针等。是 LVGL 库中的一个控件,用于输入和选择数字值。用户可以通过点击上下箭头来增加或减少数值。
2025-04-11 08:42:20
720
原创 LVGL Tabview和Tileview详解
Tabview是 LVGL 中的一种控件,用于在有限的空间内展示多个页面或视图。每个标签页(Tab)可以包含不同的内容,用户可以通过点击标签来切换不同的页面。可以通过函数自定义 Tabview 和标签页的样式。Tileview是 LVGL 中的一个组件,用于创建平铺视图。它允许用户在多个平铺页面之间导航,每个页面可以包含不同的内容。
2025-04-11 08:16:29
932
原创 LVGL List和Menu控件详解
lv_list是一种包含多个按钮的对象,按钮(列表项)可以通过图标和文字进行标记。lv_list垂直滚动:可以显示多个项目,并支持滚动的展示方式。动态更新:支持动态添加和移除子项。可交互:列表项可以响应用户点击及其他事件。高度可定制:支持修改列表以及列表项的样式。// 设置滚动方向为垂直// 禁用横向滚动的对齐效果// 设置滚动速度lv_list提供了强大的列表功能,适用于文件浏览器、菜单导航等场景。通过动态操作列表项、修改样式,以及支持事件回调,可以实现高度可定制的列表界面。
2025-04-03 07:22:10
1619
原创 LVGL Slider和Bar控件详解
lv_slider是一个灵活且强大的控件,无论是在简单的数值选择场景还是复杂的交互界面设计中,都可以方便地进行定制。如果需要高度自定义的样式,可以结合LVGL的样式系统设计从滑块到轨道的几乎每个细节// 设置背景颜色为蓝色// 设置圆角半径为 10// 应用于背景部分lv_bar是一个十分灵活的控件,能够满足多种进度展示需求。通过对lv_bar的样式定制、动画启用以及事件处理,可以将其应用到不同场景中,比如实现进度监控、数据范围展示、电量指示等功能。
2025-04-03 07:21:51
991
原创 LVGL CheckBox和Switch详解
LVGL(Light and Versatile Graphics Library)是一个嵌入式显示库,在这种库中,CheckBox是一个非常常用的控件,可以用于为用户提供复选选项(开/关或选中/未选中)。本文将详细介绍如何使用和定制 LVGL 中的 `lv_checkbox` 控件。
2025-04-02 07:54:23
862
原创 LVGL Window和Msgbox详解
`lv_win` 是一种专门用于创建窗口的对象,它可以帮助开发人员轻松实现具有标题栏、内容区和控制按钮的窗口。
2025-04-02 07:54:11
1254
原创 LVGL Dropdown和Calendar详解
LVGL(Light and Versatile Graphics Library)是一个开源的嵌入式图形库,其中 `lv_dropdown` 是下拉框部件(Drop-down List)的实现。它允许用户在多个选项中选择一个,非常适用于表单选择类应用场景。下面是关于 `lv_dropdown` 的详细解析。
2025-04-01 16:51:46
1197
原创 LVGL Chart和Spinner详解
/ 自定义数据(例如,每个点数值依次为 10, 20, 30, 40...)// 通知图表进行刷新绘制lv_chart是 LVGL 的一个强大控件,能够满足嵌入式系统中大多数图表显示的需求。通过熟练掌握lv_chart的类型设置、数据更新和样式修改等技巧,可以轻松实现各种图表应用。lv_spinner控件是 LVGL 中为实现加载动画而设计的,它通过旋转效果向用户传递“正在加载”或“等待”的状态。
2025-04-01 13:42:00
934
原创 C语言字符串处理相关函数详解
在 C 语言中,字符串其实是以 `\0`(空字符)结尾的字符数组。C 标准库提供了许多内置函数来处理字符串,下面是常用的字符串处理相关函数的详细说明。这些函数都定义在 `<string.h>` 头文件中。
2025-03-31 13:36:54
1043
中颖SH367309制作1-17串锂电池保护板(BMS)原理图、源码分享
2025-06-03
修改nmeaLib库增加北斗(BD)和格洛纳斯(GNSS)解析
2025-05-23
Qt实现一个漂亮的、动态的登录、注册界面源码分享
2025-04-16
QML 开发完整工程逻辑分享,包含与c++交互
2025-02-20
STM32H743 外部QSPI接口Flash下载算法
2023-07-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人