PlantUML 绘图
官网
- https://plantuml.com/zh/
示例

绘制时序图
USB 枚举过程 PlantUML 源码
@startuml
host <-- device : device insert host
note right : step 1
host -> device : get speed, reset, speed check
note right : step 2
host -> device : get device descriptors
note right : step 3
device --> host : return device descriptors
note right : step 4
host -> device : reset again
note right : step 5
host -> device : set device address
note right : step 6
host -> device : use new address get device descriptors(real get)
note right : step 7
device --> host : return device descriptors
note right : step 8
host -> device : get config descriptors or get config descriptors sets
note right : step 9
device --> host : return config descriptors or config descriptors sets
note right : step 10
host -> device : get string descriptors
note right : step 11
device --> host : return string descriptors
note right : step 12
host -> device : get class special descriptors
note right : step 13
device --> host : return class special descriptors
note right : step 14
@enduml
效果

绘制定时图片
USB 字节序 PlantUML 源码
@startuml
header Page 1
footer Page 1 of 1<style>
timingDiagram {.red{Linecolor red}.blue {Linecolor blue}}
</style>concise "status" as status
concise "DATA" as data
binary "DP" as DP <<red>>
binary "DM" as DM <<blue>>@0
data is "SE0"
DP is low
DM is low@2
data is "idle"
DP is high
DM is low@6
data is "0"
status is "SYNC 0x80"
DP is low
DM is high@7
data is "0"
DP is high
DM is low@8
data is "0"
DP is low
DM is high@9
data is "0"
DP is high
DM is low@10
data is "0"
DP is low
DM is high@11
data is "0"
DP is high
DM is low@12
data is "0"
DP is low
DM is high@13
data is "1"
DP is low
DM is high@14
data is "1"
status is "PID SETUP 0x2D"
DP is low
DM is high@15
data is "0"
DP is high
DM is low@16
data is "1"
DP is high
DM is low@17
data is "1"
DP is high
DM is low@18
data is "0"
DP is low
DM is high@19
data is "1"
DP is low
DM is high@20
data is "0"
DP is high
DM is low@21
data is "0"
DP is low
DM is high@22
data is "0"
status is "other"
DP is high
DM is low@enduml
效果

相关文章:
PlantUML 绘图
官网 https://plantuml.com/zh/ 示例 绘制时序图 USB 枚举过程 PlantUML 源码 startuml host <-- device : device insert host note right : step 1 host -> device : get speed, reset, speed check note right : step 2 host -> device …...
spring boot自定义配置时在yml文件输入有提示
自定义一个配置类,然后在yml文件具体配置值时,一般不会有提示,这个解决这个问题 依赖 <!--自定义配置类,在yml文件写的时候会有提示--><dependency><groupId>org.springframework.boot</groupId><arti…...
Linux:I/O 5种模型
图片来源:https://pdai.tech/md/java/io/java-io-model.html...
企业提升效率的秘密武器,推荐J2L3x聊天软件!
随着企业竞争加剧,提高效率已成为每个企业都必须面对的挑战。然而,企业要想提高效率,仅仅依靠员工的努力往往难以取得显著的效果,因此,许多企业开始寻找适合自己的工具和软件来提高生产力。 有一种聊天软件与众不同&a…...
Android Termux安装MySQL,并使用cpolar实现公网安全远程连接[内网穿透]
文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身…...
如何有效管理公司分配给员工的个人微信,实现聚合聊天管理?
现在很多公司会在员工入职后,会把企业的微信账号分配给员工,让他们用微信与客户沟通业务。但这个过程有很多风险,比如不能实时掌握员工与客户的沟通情况,可能出现员工私自添加或删除重要客户,有的员工还会离职时带走公…...
【HTML5】语义化标签记录
前言 防止一个页面中全部都是div,或者ul li,在html5推出了很多语义化标签 提示:以下是本篇文章正文内容,下面案例可供参考 常用语义化案例 一般我用的多的是header,main,footer 这些标签不难理解&#x…...
数据结构———— 堆
(一)基础补充 满二叉树是每一层节点都放满的二叉树。 完全二叉树是只有最后一层节点右边不放满的二叉树。 满二叉树(Perfect Binary Tree) 如果二叉树中除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树。另一种说法:一个深度为k(>=-1)且有2^(k+1) - 1个结…...
如何选择专业的游戏开发公司?
如果你想找一家专业的游戏开发公司,你可以采取以下步骤来寻找合适的合作伙伴: 定义项目需求:首先,明确你的游戏开发项目的需求和目标。确定你需要什么类型的游戏(移动游戏、PC游戏、主机游戏等)、游戏类型…...
Unity基础课程之物理引擎3-碰撞检测案例-吃金币并加分显在UI文本框上
业务逻辑💼: 这个脚本的主要功能是用于显示和更新主角的得分。在游戏中,玩家需要吃到金币来增加分数,而这个脚本就是负责将得分的变化实时显示在屏幕上的。 程序逻辑💻: 1️⃣首先,在脚本的开始…...
DAPLink V2 STLink V2 JLink V9.7 串口四合一仿真调试下载器
作者 风陵: github:https://github.com/ForlingTec CSDN:https://blog.csdn.net/weixin_42518229 化作尘: https://blog.csdn.net/mbs520 一、产品介绍 该产品是一款基于USB2.0接口支持多个公司及多种内核的仿真器/编程器,板载了USB H…...
使用PyTorch处理多维特征输入的完美指南
💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…...
萝卜刀玩具上架亚马逊CPC认证测试标准
含铅或含铅涂料儿童产品的要求 分阶段限制儿童产品所有部件的铅含量,要求在3年内将产品任何可接触部件的铅含量限制从不超过重量的600ppm(0.06%)降至不超过重量的100ppm(0.01%)。 铅含量限值(总铅含量占重…...
阶段六-Day03-MyBatis
一、框架介绍 1. 框架的作用 将许多项目封装起来,形成了框架 2. 框架的优缺点 1. 优点 1.1 更好用 框架都是对Java原生内容进行的封装,对于企业级项目开发来说,使用框架比使用原生Java更好用,写起来更简单。 1.2 更强大 框架封装过程…...
探索RPA流程自动化在不同行业的应用案例
随着数字化的推进,企业建设了大量的业务系统,跨系统的业务流程越发复杂,业务孤岛、 流程孤岛、数据孤岛也随之出现,产生了大量需要人工执行的重复性系统操作流程。而使用RPA能将员工从大量的、重复的、高耗时的工作中解放出来&…...
解决gpedit.msc命令无法打开的问题
【win11家庭版】解决gpedit.msc命令无法打开的问题 本地组策略编辑器 echo offpushd "%~dp0"dir /b %systemroot%\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gp.txtdir /b %systemroot%\servicing\Packages\…...
一大突破!清华大学研制出首颗忆阻器存算一体芯片
这几天清华大学又火出圈了。但这次并不是因为招生抢人和饭堂,而是清华大学的芯片研发团队研制出全球首颗全系统集成的存算一体芯片。这是我国、乃至全世界对半导体行业的又一重大突破。 这个芯片由清华大学集成电路学院教授吴华强副教授高滨团队基于存算一体计算范…...
JUC的线程池架构
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…...
PostgreSQL limit 语法
PostgreSQL limit 语法 LIMIT 是 PostgreSQL 中用于限制查询结果数量的关键字。其语法如下: SELECT column1, column2, ... FROM table_name LIMIT number_of_rows;其中,SELECT 语句用于指定要查询的列和数据表,LIMIT 用于指定查询结果的行…...
CUDA C编程权威指南:2.1-CUDA编程模型
本文主要通过例子介绍了CUDA异构编程模型,需要说明的是Grid、Block和Thread都是逻辑结构,不是物理结构。实现例子代码参考文献[2],只需要把相应章节对应的CMakeLists.txt文件拷贝到CMake项目根目录下面即可运行。 1.Grid、Block和Thread间的…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
ThreadLocal 源码
ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物,因为每个访问一个线程局部变量的线程(通过其 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段,这些类希望将…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
