串口示波器 - SerialChart
前言serial_port_plotter (多数据不卡)非常好用的串口示波器,可以实时绘制通过串口发送的数据,以曲线形式显示。
https://github.com/TutuBinary/serial_port_plotter
范围无限制:新的通道数据会创建一个新图形并使用它
无数据点限制:保留所有接收到的数据,以便用户可以浏览旧数据
无波特率限制:经过测试高达912600 bps
使用鼠标进行缩放和拖动(滚轮或单击,仅限于X轴);在图上移动会在状态栏中显示图形的X和Y值
频道名称图例(双击进行修改)
频道选择(点击图例文字)
支持正负整数和浮点数
可以输出图像保存为PNG
可以到处数据为CSV
自动缩放到可见图
如何发送单片机数据发送的数据都必须以$开头,并以;结尾 (分号)和内部的整数需要用空格分隔
123printf("$%d %d;", data1, data2);printf("$%d %d %d;", data1, data2, data3);
serialchart (多数据容易卡, old)非常好 ...
自动格式化工具 - AStyle
前言本文推荐一种格式化工具, AStyle
使用方法下载 AStyleAstyle官网下载地址:
https://sourceforge.net/projects/astyle
在 vscode 中安装 AStyle在 vscode 扩展商城中安装 AStyle 插件
配置 AStyle 路径
在 vscode 中按快捷键: CTRL+SHIFT+P 搜索 setting , 打开 settings.json
输入以下信息,配置路径
1"astyle.executable": "E:\\1.software\\astyle-3.6-x64\\astyle.exe",
配置 AStyle 参数
在 vscode 中按快捷键: CTRL+SHIFT+P 搜索 setting , 打开 settings.json
输入以下信息,配置路径
123456789101112131415161718192021222324252627282930313233"astyle.astylerc": "", ...
自动生成注释插件 - VScode
前言本文推荐一种在用vscode编写代码时自动化生成标准化注释格式的方法。
插件名字:Doxygen Documentation Generator
插件使用说明:
https://github.com/cschlosser/doxdocgen
使用说明
在 vscode 扩展商城中搜索 Doxygen Documentation Generator
打开vscode settings.json(快捷键CTRL+P, 输入: > setings, 选择: 打开用户设置 ), 对插件进行配置
在代码首行或者函数前面输入 /** 后,按下 Enter即可自动生成注释
setting.json 配置模板1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 // /**回车后最多向下多少行去找函数声明"doxdocgen.generic.linesToGet": 10, // 作者名和邮箱 "doxdo ...
5V 转 400V 升压电路 (boost + 倍压电路)
前言最近了解到盖革管计数器原理,从它的驱动电路中看到了一个比较有意思的升压电路,boost + 倍压电路,将低压升至高压很有意思,顺便把资料记录下来,方便以后查看。
盖革管中的升压电路大多使用555定时器去实现, 如果有MCU输出PWM,可直接使用MCU进行控制,盖革管驱动电路如下图所示:
这里主要讲解如何使用 PWM 驱动boost + 倍压电路,将低压升至高压,电路结构如下:
基本原理:
前面是boost升压电路,通过PWM驱动三极管开关闭合,进行升压操作
后面二极管和电容构成倍压电路,再次升压
boost 电路升压电路这里不多做介绍,网上有很详细的理论介绍。需要注意的是PWM驱动信号,会导致以下问题:
PWM频率会影响电感啸叫,如果有刺耳的声音可以尝试改变PWM频率
boost升压电路的输出电压有三个影响因素:PMW频率、PWM占空比、三极管基极限流电阻、PWM占空比输出精度(PWM计数精度越高越好)
倍压电路在电路设计过程中,当后级需要的电压比前级高出数倍而所需要的电流并不是很大时,就可以使用倍压整流电路。倍压整流:可以将较低的交流电压,用耐压较高的整流二极管和电 ...
VScode tasks.json 自定义任务
前言在 Visual Studio Code(VSCode)中,tasks.json 文件是用来定义和配置任务(Tasks)的。任务指的是在开发过程中需要自动化执行的一系列操作,例如编译代码、运行测试、打包项目等。通过配置 tasks.json,你可以简化这些操作,使其可以一键执行,提高效率。
vscode 能利用task的地方就是快捷键功能, tasks.json 可以配合 Task Buttons 扩展功能,在vscode下方自定义快捷按钮,实现快捷操作,比如自动化命令
定义和管理各种任务,包括编译、测试、打包、部署等。这样可以避免在不同项目中重复编写类似的命令行脚本,提高代码复用性和组织性。
快捷执行:通过键盘快捷键(如Ctl+Shi+B)或任务面板快速选择并运行bui1d任务,无需切换到命令提示符或终端手动输入命令,提升了工作效率,
交互体验:任务执行时,VSCode会自动打开输出面板显示任务执行过程和结果,便于实时监控和调试。此外,用户可以轻松地终止任务、重新运行任务、切换不同的任务配置等。
与VSCode生态集成:任务可以与VSCode的其他功能紧密结合,如调试 ...
硬件开发需求参考文档
前言高质量的产品需求文档,是硬件产品成功的关键,是硬件产品由概念阶段进入设计阶段的第一个重要文档,其作用是将客户需求转化成开发团队能够理解的产品功能、性能、指标和参数,将前期市场调研和需求洞察所发现的市场机会进行锁定,落地到具体的产品定义。
下面是我整理的需求文档,可以直接下载
https://github.com/user-attachments/files/15796986/default.xlsx
功能需求很清晰,很详细
以前的客户有设计需求的时候,一般都是说一下要设计一个什么样的东西,要有哪几个功能,其他的都是模模糊糊,不清不楚的,让我们自己去理解,自己去猜测。
基本都是理解不了,都是花很多时间精力去和客户沟通,沟通,再沟通,才勉强全面理解客户的需求。
参考器件,方便选型
给我们提供了一关键器件的图片,让我们参考,大大方便我们选型,节省我们的时间。
PCB布局提供参考草图
虽然没有具体的PCB板框图纸,但是也给我们提供了一个PCB布局草图,很清晰地标出哪些连接器、开关、指示灯应该放在哪个位置,免得我们自由发挥,不能满足客户的需求。
PCB布局提供参考草图客户明确任务完成目标 ...
无线串流、投屏
前言主要讲解 Sunshine + Moonlight 串流方案
使用场景
局域网内可以实现无线投屏,延迟非常低
如果配合虚拟显示器使用,可以将手机或者平板当电脑幅屏使用,工具:parsec-vdd (github)
如果配合内网穿透工具使用,可以实现远程投屏, 例如:皎月连
Sunshine 介绍 (服务器)Sunshine 是 Moonlight 的自托管游戏流主机。提供低延迟、云游戏服务器功能,支持 AMD、Intel 和 Nvidia GPU 进行硬件编码。还提供软件编码。您可以从各种设备上的任何 Moonlight 客户端连接到 Sunshine。提供了一个 Web UI,允许从您最喜欢的 Web 浏览器进行配置和客户端配对。从本地服务器或任何移动设备进行配对。
https://github.com/LizardByte/Sunshine
Moonlight 介绍 (客户端)Moonlight 可让您在几乎任何设备上玩 PC 游戏,无论您是在另一个房间还是距离游戏设备数英里远。
Moonlight 安装在需要显示的设备上,连接主机IP信息即可
https://mo ...
图片解码库
QOI (速度很快的图片格式,编解码速度都很快)
QOI 很快。它将图像无损压缩为与 PNG 类似的大小,同时编码速度提高 20 到 50 倍,解码速度提高 3 到 4 倍。
QOI 很简单。参考编码器/解码器可容纳大约 300 行 C 语言。文件格式规范是单页 PDF。
https://qoiformat.org/
QOA (用于快速、有损压缩的相当不错的音频格式)
QOA 很快。它的音频解码速度比 Ogg-Vorbis 快 3 倍,同时提供比 ADPCM 更好的质量和压缩(44khz 立体声为 278 kbits/s)。
QOA 很简单。参考编码器/解码器可容纳大约 400 行 C 语言。文件格式规范是单页 PDF。
https://qoaformat.org/
视频语音文字识别转换 (视频翻译和配音工具)
https://github.com/TutuBinary/pyvideotrans
一个视频翻译配音工具,可将一种语言的视频翻译为指定语言的视频,自动生成和添加该语言的字幕和配音。
主要用途和使用方式####
【翻译视频并配音】根据需要设置各个选项,自由配置组合,实现翻译和配音、自动加减速、合并等
【识别字幕不翻译】选择视频文件,选择视频源语言,则从视频【语音中识别出文字】并自动导出字幕文件到目标文件夹
【提取字幕并翻译】选择视频文件,选择视频源语言,设置想翻译到的目标语言,则从【视频语音中识别出文字】并翻译为目标语言,然后导出双语字幕文件到目标文件夹
【字幕和视频合并】选择视频,然后将已有的字幕文件拖拽到右侧字幕区,将源语言和目标语言都设为字幕所用语言、然后选择配音类型和角色,开始执行
【为字幕创建配音】将本地的字幕文件拖拽到右侧字幕编辑器,然后选择目标语言、配音类型和角色,将生成配音后的音频文件到目标文件夹
【音视频识别文字】将视频或音频拖拽到识别窗口,将识别出文字并导出为srt字幕格式
【将文字合成语音】将一段文字或者字幕,使用指定的配音角色生成配音
【从视频分离音频】将 ...
OCR离线文字识别库
完全开源免费的文字识别库
离线文字识别软件
https://github.com/TutuBinary/Umi-OCR
离线文字识别库 PaddleOCR-json (兼容性不好,性能高)
https://github.com/TutuBinary/PaddleOCR-jsonhttps://github.com/PaddlePaddle/PaddleOCR/tree/release/2.6 (原库)
离线文字识别库 RapidOCR-json (兼容性好,性能中等)
https://github.com/TutuBinary/RapidOCR-jsonhttps://github.com/TutuBinary/RapidOcrOnnx (原库)















