各种常用小工具汇总
tts-vue 文字转语音工具 (微软接口)
https://github.com/TutuBinary/tts-vue
Lorien 无限画板
https://github.com/TutuBinary/Lorien
天若OCR文字识别V4.49
https://github.com/TutuBinary/tianruoocr_last.git
Snipaste 截图软件
https://www.snipaste.com/
CLaunch 快捷启动软件
https://hp.vector.co.jp/authors/VA018351/index.html
Everything 搜索软件
https://www.voidtools.com/zh-cn/
ShadowsocksR-Windows
https://github.com/HMBSbige/ShadowsocksR-Windows
小丸工具箱 音视频处理软件
https://maruko.appinn.me/
PotPlayer 视频播放器
https:/ ...
什么是外包? 二方外包和三方外包的区别
一、背景一转眼,又到了金三银四的跳槽 & 求职季。
在 IT 行业,跳槽就离不开一个词,那就是外包。
可以说,每一位 IT 人都接触过外包,甚至参与其中。而多数IT职场萌新,都面临着大厂外包,还是小公司的绝望抉择。
虽然很多人虽然抵制外包,但他们往往对外包只有比较直观、碎片的认识。
网上针对 IT 外包的资料,很少很少,而且大多比较零碎。
我恰巧对外包算比较有经验,所以我想谈一谈外包。希望能给需要的小伙伴,一些参考与帮助。
二、分析1、什么是外包?为了更好地分析,我们需要了解什么是外包。外包是一种将目标,委托给其他组织的管理模型。外包有很多种,如项目外包、产品外包、工程外包等等。而我们最为关心的,则是人力资源外包。这样说比较抽象,我来举个例子。
项目外包:为了完成某个项目,出于进度、成本,甚至是风险转移的考量,将项目拆分一部分(如非核心部分)交给其他个人/组织。比如猪八戒网上的一些项目,就是这样的项目。
产品外包:多数出于成本考量,将部分产品外包给其他个人/组织。比如战神5将部分场景、人物模型外包给外部团队完成。工程外包:多数出于成本、风险、进度等考量,将 ...
Sphinx 如何生成 PDF 文档 [2024.3.1]
Sphinx 如何生成 PDF 文档 [2024.3.1]前言sphinx + rst 编写文档有以下优势:
简单易学
格式多样化: html/pdf
便于维护 (git)
跨平台
rst 标记语言可以很容易的输出 html 页面, 但是想要输出 pdf 文档 会麻烦一点,这里就教大家如何生成 pdf 格式的文档。
rst 转 PDF 原理: 首先将 rst 转换为 tex, 再由 tex 转换为 PDF
下面会教两种方法给大家:
通过 texlive 和 TeXstudio 生成 pdf 文档
通道 readthedocs 代理服务器自动发生成 pdf 文档
第一种方法最靠谱, TeXstudio 软件在生成 pdf 文档时可以提示错误原因,方便找问题
第二种方法最简单,不需要再电脑上搭建环境,一旦出现错误很难查找问题所在
通过 texlive 和 TeXstudio 生成 pdf 文档
texlive 提供 tex 文档编写的各种依赖环境, 安装包比较大,安装时间久
TeXstudio 提供 tex 文档编辑器,编辑、编译 tex 文档特别方便
这种方式 ...
USB协议分析(wireshark抓包)
USB资料汇总,这个在线资料算是USB规格书的提炼,方便大家查阅
https://www.beyondlogic.org/usbnutshell/usb1.shtm
本文将在windows下从wireshark抓包的角度对USB协议进行分析,可以同时参考以下内容进行学习: stm32f4USB项目开发详解
USB 在抓包的过程中我的电脑上一共连接了3个usb设备,分别为一个键盘、一个无线鼠标接收器以及一个U盘
下面是我的设备管理器的显示,由于电脑上除了我外连的三个usb设备之外还有电脑内的主机控制器和根集线器等设备,所以设备管理器显示有6个。
usb设备是三段地址描述, 第一个是总线,第二个是设备地址,第三个是端口. 我们可以使用这种方式在wireshark内进行过滤
我们可以看到图中有一部分数据为 USB URB , 那么什么是URB呢?根据microsoft的官方文档我们可以看到URB的定义。相关网页
通用串行总线 (USB) 客户端驱动程序无法直接与其设备通信。 相反,客户端驱动程序创建请求并将其提交到 USB 驱动程序堆栈进行处理。 在每个请 ...
画图、绘图工具
excalidraw虚拟手绘风格白板
https://github.com/excalidraw/excalidrawhttps://excalidraw.com/
drawiodraw.io是一个在线作图网站,功能很多,思维导图、流程图、网络图等等,电路图也有。里面的很多图都可以设置成草图样式,挺酷炫的。
https://app.diagrams.net/
LorienLorien 是一款无限画布绘图/笔记应用程序,专注于性能、小型保存文件和简单性。 适用于 Windows、Linux 和 macOS,支持中文。
https://github.com/mbrlabs/Lorien
波形图绘制工具WaveDromWaveDrom 根据简单的文本描述绘制时序图或波形。他有在线版本和离线版本,可以从它的官网下载安装版本。
https://wavedrom.com/editor.html
TimeGenTimeGen是一款简单实用的画时序图工具,用户可以快速的通过该软件进行时序图的创建,软件具有矩形或圆形边缘的轮廓文本框,方便用户对各种模式的时序图进行制作 ...
MCU动态加载函数的方法
前言我们都听说过 静态库和动态库 , 静态库大家都应该比较清楚,在单片机开发的时候,也经常用到。
动态库在 windows 和 linux 下很常见,例如: Windows中的dll,Linux中的so,可以将代码动态地从其他的存储介质,动态加载到RAM中
而动态库在单片机领域就很少见了
第一种动态库方案
参考链接 : https://whycan.com/t_8607.html
最近尝试了一下wifi/bt soc上,动态加载用户应用的方式。又学到很多没用的知识。
基本需求
应用需要方便编译,使用比较通用的格式
elf:还有谁?
应用代码部分最好不占用ram,XIP方式运行
elf: 呃呃呃,你再说一遍?
用户开发简单,和普通的c一样,甚至可以用其他语言,rust、go等等,反正能编译成elf就行
elf: smile
支持cortex-m等MCU芯片
cortex-m: 纳尼
全兼容,基于新版本编译的同样代码,可以在旧版中使用,反过来也一样
elf动态加载、地址无关、cortex-m
gcc编译器使用-fPIC,产生的是got-b ...
库仑计统计电池电量
前言在设计电子产品时,经常会遇到电量指示的问题。很多带电池的产品,都需要有电量指示的功能,大多数人在设计电量指示时,都是通过采集电池的电压,然后显示电池电量。
最常见的做法就是,用4颗LED做电量指示。4.1V - 4.2V满格,表示有100%的电,3.8V - 4.1V三格,表示还剩75%的电量,3.7V - 3.8V两格 ,表示还剩50%的电量,3.5V - 3.7V一格,表示还剩25%的电量。
但是这种方法只是一种估算方法,不是很准确,而且很容易发生误测,比如电路中的负载突然变大,电池的电压就会一下被拉低很多,电量指示灯由满格一下子变成三格或者两格。
解决方法有什么方法可以解决以上电池电量指示不准确的问题呢?
可以采用库仑计的设计方案,让电池电量指示更准确。
库仑计的原理,简单一点来说,就是通过实时采样电池回路流经的电流大小,电流是随时间变化的,然后通过把这个变化的电流和时间进行积分,就可以得到准确的电量。当充电时,电池从没电到充满电这段时间里,实时采集电池的充电电流,然后和时间进行积分算出电池容量。当电路工作时,电池对电路放电,实时采集电池的放电电流,然后和时间进行积分,得出用 ...
脚本解析器
C4:4个函数实现的C语言编译器它是一个C语言编译器项目,整个实现只有:
一个C语言源码文件
528行C语言代码
4个函数
仅此而已。
它简洁,却不简单。
https://github.com/TutuBinary/c4.git
QuickJSQuickJS是一个小型并且可嵌入的Javascript引擎,它支持ES2020规范,包括模块,异步生成器和代理器。
它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。
https://github.com/TutuBinary/QuickJS
LuaLua 是一种强大、高效、轻量级、可嵌入的脚本语言。它支持过程式编程、面向对象编程、函数式编程、数据驱动编程和数据描述。
https://www.lua.org/
pandapanda是脚本语言解释器,它基于javascript,但裁剪了部分语法特性;
panda是轻量级语言,它被设计用来作为嵌入式硬件的解释器;
panda很容易学习。
https://github.com/TutuBinary/panda
Moddable ...
三电源切换电路
双电源切换我们都很熟悉,也很常用,一般是一个外部电源加一个内部电池,外部电源优先级高于电池。有电池,电池给系统供电,有外部电源,外部电源给系统供电,两者都有时,外部电源给系统供电,同时也给电池充电,外部电源意外断电,内部电池会续上。
前段时间画了一个三电源切换电路,我们一起来看下:
电路描述:
Q1、Q2为NMOS,Q3、Q4和Q5为PMOS管,D1为二极管。
BAT1和BAT2为电池,BAT2的容量比BAT1大,VIN_5V为外部电源,VOUT为输出,给系统供电。
VOUT会从优先级高的电源取电,优先用外部电源,其次容量大的电池,最后才是容量较小的电池,优先级排序:VIN_5V > BAT2 > BAT1。
工作原理:
接下来,我们再看一下电路的工作原理。
当只有BAT1时,Q2、Q3和Q5导通,VOUT从BAT1取电。
当只有BAT2时,Q1导通,Q2、Q3和Q5截止,Q4导通,VOUT从BAT2取电。
当只有VIN_5V时,VIN_5V通过二极管D1到VOUT,VOUT从VIN_5V取电。
当BAT2和BAT1同时存在,Q1导通,Q2、Q3和Q5截 ...
免费 mp3 下载网站
https://tools.liumingye.cn/music/?page=searchPage#/