- 博客(19)
- 收藏
- 关注
原创 H桥电路原理详解:直流电机正反转、PWM调速与续流保护(图解入门)
本文详解H桥电路在直流电机正反转、PWM调速与续流保护中的应用。通过分析电机电流反向导致转矩反向的特性,提出用四开关(Q1-Q4)构成H桥实现极性切换,避免手动换线。重点解决直通风险(需死区控制)、关断时电感续流问题(依赖体二极管或同步续流),并引入母线电容吸收回灌能量。结合PWM调速与制动策略,利用现有开关状态实现平均电压调节与短接制动。最后强调驱动模块选型、接线检查及调试注意事项,揭示H桥设计源于实际问题的逐步优化过程。
2026-10-28 09:49:53
331
原创 Android OTA 更新库 - 一行依赖搞定应用内更新
AndroidOTA是一个轻量级应用内更新库,纯Java实现且无外部依赖。它支持完整的OTA流程:检查更新、下载APK、SHA256校验和触发安装。集成只需三步:添加依赖(通过JitPack)、配置权限和编写基础代码。服务端需提供版本检查接口返回JSON格式的版本信息,库会自动进行版本号数组比较(如[2,0,0]>[1,0,0])。特性包括:后台下载、进度回调、自动校验、缓存清理,支持HTTPS和Android 8+的安装权限处理。开发者只需维护build.gradle中的versionName即可实现版本
2026-06-22 11:41:59
226
原创 ADB 常用命令速查表
ADB命令速查表:包含设备连接、应用管理、文件操作、日志调试等常用功能。提供设备状态查询、应用安装卸载、文件传输、日志查看、屏幕截图录屏、模拟输入等命令及参数说明。适用于Android开发调试,帮助快速查找和执行ADB操作,提高工作效率。
2026-04-12 14:57:18
363
原创 修改Android app的应用ID:Application ID
本文介绍了修改Android应用ID的两种方法。推荐使用第一种方法,直接在Android Studio的Module Settings中修改Default Config下的Application ID,简单高效。第二种方法适用于需要全面重构包名的情况,通过Refactor工具重命名包名并检查相关配置文件。需要注意的是,最终应用在设备上的唯一标识是build.gradle中的applicationId,与AndroidManifest.xml中的package属性可以不同。第一种方法已能满足大多数修改需求。
2026-04-07 22:03:01
398
原创 ZIP、7z、RAR 几个主流压缩格式
常见压缩格式对比指南:ZIP兼容性最佳,系统原生支持,适合日常分享;7z压缩率最高(比ZIP小30%-40%),适合追求极限体积;RAR提供恢复记录功能,适合重要文件备份;Zstd兼顾高压缩比和极速处理,适合大数据备份。根据需求选择:日常分享用ZIP,节省空间用7z,重要备份用RAR,大数据处理用Zstd。
2026-03-23 08:40:54
364
原创 发光二极管(LED)介绍
发光二极管(LED)是一种将电能直接转化为光能的半导体器件,其核心为PN结结构。LED具有低电压、小电流、长寿命(数万小时)及高可靠性等特点。发展历程始于1907年,1962年实现商业化,1994年蓝光LED的发明带来重大突破。发光颜色由半导体材料决定,常见颜色包括红、绿、蓝等。使用时需注意极性识别和限流保护。LED类型多样,包括单色、白色、贴片式等,广泛应用于指示灯、显示屏、照明及通信等领域,已成为现代光电技术的重要组成部分。
2026-03-15 08:29:51
748
原创 批量删除AD软件生成的History文件夹
摘要:本文提供了一个用于批量删除AD软件生成的History文件夹的批处理脚本。该脚本会递归扫描当前目录及所有子目录,删除所有名为"History"的文件夹。使用时需将代码保存为.bat文件,运行时会先提示确认,按任意键后执行删除操作。该操作不可逆,请谨慎使用。脚本适用于清理AD设计软件产生的占用硬盘空间的History文件夹。
2026-03-02 14:23:25
106
原创 [开源]准谐振-基于DP9503B的恒流高效远程控制大功率照明灯
用DP9503B“准谐振”恒流驱动大功率LED,远程控制基于ESP01S通过网页控制,强制门户打开
2025-12-28 08:21:45
1135
原创 [亲测可用]Android studio配置国内镜像源 Kotlin DSL (build.gradle.kts)
Android studio项目需要下载和更新 Gradle 及其依赖。由于网络环境,直接从 Gradle 官网下载可能会遇到速度慢或超时的问题。这里需要更换为使用国内的镜像站点来加速下载。官网地址(较慢):https://services.gradle.org/distributions/(国内)腾讯云镜像 Gradle下载地址:https://mirrors.cloud.tencent.com/gradle/
2024-11-20 10:16:37
10359
6
原创 复杂指令集CISC和精简指令RISC的架构有哪些?
截止2024.3,RISC-V拼接开放的生态,发展如火如荼。RISC中只有RISC-V是开放的。X86是CISC的主力架构。
2024-03-21 20:41:40
556
原创 keil下载报错:Cannot Load Flash Programming Algorithm
将最大通讯时钟频率降低,推测可能是硬件电路的问题导致通讯时钟频率不能太高。
2024-03-16 09:17:51
3610
4
转载 常见的I2S功放IC
2×14W, 立体声输出(4Ω, 12V, THD+N = 1%);2×26W, 立体声输出(8Ω, 22V, THD+N = 1%) 2×32W, 立体声输出 (8Ω, 22V, THD+N = 10%)2×33W, 立体声输出(6Ω, 21V, THD+N = 1%) 51W, 单声道输出 (8Ω, 21V, THD+N = 1%) 。2×40W, 立体声输出 (6Ω, 24V, THD+N = 1%) /82W,单声道输出 (3Ω, 24V, THD+N = 1%)
2023-11-16 08:18:38
2799
原创 “No error messages generated.FormatMessageW:参数错误。“python用pyinstaller打包成exe运行报错
No error messages generated.FormatMessageW:参数错误
2023-10-21 16:42:53
3467
原创 PyQt中获取摄像头视频卡顿
在我之前的pyqt的项目中发现用了几个月后程序运行几分钟后就卡,最开始以为是内存泄漏,其实不然,找了一阵子原因发现是摄像头问题,在项目中摄像头是一直打开的,代码如下。一次指定槽函数(类似于单片机的中断),并不是在新的线程进行操作,本质还是单线程,执行这个摄像头获取函数时,CPU资源就会集中在IO上面,典型的。很显然上面这种写法是在QTimer的timeout后获取一次图像,QTimer不是创建新的线程,而是定时器溢出后执行。,这会阻塞Qt界面的CPU资源,导致界面无响应。
2023-10-17 10:13:16
968
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅