当前位置: 首页 > news >正文

FGPA学习(二)实现LED流水灯

目录

一、6个LED灯实现流水灯

(一)实验逻辑

1、时钟和复位信号的处理

2、按键停止信号的处理

3、计数器的计数逻辑

4、LED 状态更新逻辑

(二)代码实现

(三)效果展示

二、vscode插件下载及其模块分化

(一)VScode 下载

(二)Verilog编程工具插件下载

(三)LED流水灯模块分化

总结:


一、6个LED灯实现流水灯

(一)实验逻辑

1、时钟和复位信号的处理

(1)时钟信号 (clk)

  • 代码通过 always 块监听时钟信号 clk 的上升沿。

(2)复位信号 (rst_n)

当复位信号 rst_n 为低电平时:

  • 计数器 cnt 被重置为 0

  • LED 灯的状态 led 被设置为 6'b000001(即第一个 LED 亮起)。

2、按键停止信号的处理

停止信号 (stop_n)

当停止信号 stop_n 为低电平时:

  • 计数器 cnt 保持不变。

  • LED 灯的状态 led 保持不变。

3、计数器的计数逻辑

(1)正常计数

当复位信号 rst_n 和停止信号 stop_n 均为高电平时,计数器 cnt 开始计数。

(2)计数器溢出处理

当计数器 cnt 达到 50_000_000 - 1 时(即 1 秒的时钟周期,假设时钟频率为 50 MHz):

  • 计数器 cnt 被重置为 0

  • LED 灯的状态 led 进行循环右移一位,实现流水灯效果。

4、LED 状态更新逻辑

(1)流水灯效果

每次计数器溢出时,LED 状态 led 循环左移一位。

例如:

  • 初始状态:6'b000001

  • 1 秒后:6'b000010

  • 2 秒后:6'b000100

  • 3 秒后:6'b001000

  • 4 秒后:6'b010000

  • 5 秒后:6'b100000

  • 6 秒后:6'b000001(循环回到初始状态)。

(2)回绕逻辑

当 led 为 6'b100000 时,下一次左移回绕到 6'b000001

(二)代码实现

module led (input  clk,input  rst_n,input  stop_n,       // 停止信号,低电平有效output reg [5:0] led // 6个LED灯
);parameter TIME_1s = 25_000_000; // 1秒计数值reg [30-1:0] cnt_1s; // 30位计数器// 计数器模块always @(posedge clk or negedge rst_n) beginif (!rst_n)cnt_1s <= 30'b0; // 复位时计数器清零else if (!stop_n)cnt_1s <= cnt_1s; // 暂停时计数器保持不变else if (cnt_1s == TIME_1s - 1)cnt_1s <= 30'b0; // 计数到 TIME_1s 时清零elsecnt_1s <= cnt_1s + 1; // 计数器加1end// LED 状态更新模块always @(posedge clk or negedge rst_n) beginif (!rst_n)led <= 6'b000001; // 复位时 LED 初始状态else if (!stop_n)led <= led; // 暂停时 LED 状态保持不变else if (cnt_1s == TIME_1s - 1) beginif (led == 6'b100000)led <= 6'b000001; // 回绕到初始状态elseled <= {led[4:0], 1'b0}; // 左移一位endendendmodule

引脚配置:

(三)效果展示

fpga流水灯

二、vscode插件下载及其模块分化

(一)VScode 下载

1、打开VScode官网,点击我跳转

2、download下载即可

(二)Verilog编程工具插件下载

1、找到VScode的插件下载图标

2、下载如下两个插件即可

(三)LED流水灯模块分化

1、分频模块

module fenpin (input  clk,input  rst_n,output reg clk_1s
);parameter TIME_1s = 25_000_000; // 1秒计数值reg [30-1:0] cnt_1s; // 30位计数器always @(posedge clk or negedge rst_n) beginif (!rst_n) begincnt_1s <= 30'b0;clk_1s <= 1'b0;end else beginif (cnt_1s == TIME_1s - 1) begincnt_1s <= 30'b0;clk_1s <= ~clk_1s; // 每1秒翻转一次end else begincnt_1s <= cnt_1s + 1;endendendendmodule

2、复位暂停模块

module restart_stop (input  clk_1s,input  rst_n,input  stop_n,output reg [5:0] led
);always @(posedge clk_1s or negedge rst_n) beginif (!rst_n)led <= 6'b000001; // 复位时 LED 初始状态else if (!stop_n)led <= led; // 暂停时 LED 状态保持不变else beginif (led == 6'b100000)led <= 6'b000001; // 回绕到初始状态elseled <= {led[4:0], 1'b0}; // 左移一位endendendmodule

3、顶层模块

module LedBlink (input  clk,input  rst_n,input  stop_n,output [5:0] led
);wire clk_1s;// 实例化分频模块fenpin u_fenpin (.clk(clk),.rst_n(rst_n),.clk_1s(clk_1s));// 实例化复位暂停模块restart_stop u_restart_stop (.clk_1s(clk_1s),.rst_n(rst_n),.stop_n(stop_n),.led(led));endmodule

总结

        本次实验旨在通过FPGA开发实践,熟悉Verilog编程并实现流水灯效果,重点掌握时钟信号在数字设计中的驱动作用、复位信号的初始化功能以及计数器的定时控制方法。通过设计计数器生成定时信号,控制LED灯的顺序点亮,实验不仅巩固了Verilog编程知识,还加深了对时钟、复位信号及计数器在数字电路中关键作用的理解,为后续复杂FPGA设计奠定基础。

相关文章:

FGPA学习(二)实现LED流水灯

目录 一、6个LED灯实现流水灯 &#xff08;一&#xff09;实验逻辑 1、时钟和复位信号的处理 2、按键停止信号的处理 3、计数器的计数逻辑 4、LED 状态更新逻辑 &#xff08;二&#xff09;代码实现 &#xff08;三&#xff09;效果展示 二、vscode插件下载及其模块分…...

【蓝桥杯】每天一题,理解逻辑(4/90)【Leetcode 二进制求和】

题目描述 我们解析一下题目 我们可以理解到两个主要信息 给的是二进制的字符串返回他们的和 我们知道&#xff0c;十进制的加减法需要进位&#xff0c;例如&#xff1a;9716是因为91之后进了一位&#xff0c;二进制也是如此&#xff0c;只不过十进制是逢10进1&#xff0c;二…...

docker利用ollama +Open WebGUI在本地搭建部署一套Deepseek-r1模型

系统&#xff1a;没有限制&#xff0c;可以运行docker就行 磁盘空间&#xff1a;至少预留50GB; 内存&#xff1a;8GB docker版本&#xff1a;4.38.0 桌面版 下载ollama镜像 由于docker镜像地址&#xff0c;网络不太稳定&#xff0c;建议科学上网的一台服务器拉取ollama镜像&am…...

精准git动图拆解​

参考原文&#xff1a;精准git动图拆解​​ 该工具可精准识别并提取.git 动图的每一帧&#xff0c;无论是代码运行演示&#xff0c;还是项目流程展示的动图&#xff0c;都能完美处理。​ 快速格式转换​ 提取的动图帧会快速转换为 PNG 格式。PNG 无损压缩、支持透明背景&…...

让vscode远程开发也可以图形显示

目录 0. 摘要1. 保存查看2. jupyter内置inline渲染3. jupyter浏览器4. matplot修改后端5. SSH X11转发[※]6. 参考 0. 摘要 vscode登录远程服务器进行开发遇到图形显示需求时&#xff0c;该怎么处理&#xff1f;一般有几种方式&#xff1a; 保存下来查看jupyter内置的inline图…...

996引擎 - 红点系统

996引擎 - 红点系统 总结NPC 红点(TXT红点)Lua 红点1. Red_Point.lua2. UI_Ex.lua参考资料以下内容是在三端 lua 环境下测试的 总结 红点系统分几个部分组成。 M2中设置变量推送。 配置红点表。 Envir\Data\cfg_redpoint.xls 2.1. UI元素中找到ID填写 ids 列。 主界面挂载…...

Springboot List集合的校验方式

pom.xml 引入 <dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>6.2.0.Final</version></dependency><dependency><groupId>org.springframework.b…...

基于图像识别的医学影像大数据诊断系统的设计与实现

标题:基于图像识别的医学影像大数据诊断系统的设计与实现 内容:1.摘要 随着医学影像技术的快速发展&#xff0c;医学影像数据量呈爆炸式增长&#xff0c;传统的人工诊断方式在处理海量数据时效率低下且容易出现误差。本研究的目的是设计并实现一个基于图像识别的医学影像大数据…...

黑马node.js教程(nodejs教程)——AJAX-Day01-04.案例_地区查询——查询某个省某个城市所有地区(代码示例)

文章目录 代码示例效果 代码示例 axiosTest.html <!DOCTYPE html> <!-- 文档类型声明&#xff0c;告诉浏览器这是一个HTML5文档 --> <html lang"en"> <!-- HTML根元素&#xff0c;设置文档语言为英语 --><head> <!-- 头部区域&am…...

PySide(PyQt),使用types.MethodType动态定义事件

以PySide(PyQt)的图片项为例&#xff0c;比如一个视窗的场景底图是一个QGraphicsPixmapItem&#xff0c;需要修改它的鼠标滚轮事件&#xff0c;以实现鼠标滚轮缩放显示的功能。为了达到这个目的&#xff0c;可以重新定义一个QGraphicsPixmapItem类&#xff0c;并重写它的wheelE…...

c语言基础编程入门练习题

[编程入门]成绩评定 题目描述 给出一百分制成绩&#xff0c;要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上为A&#xff0c;80-89分为B&#xff0c;70-79分为C&#xff0c;60-69分为D&#xff0c;60分以下为E。 输入格式 一个整数0&#xff0d;100…...

汽车安全确认等级-中国等保

1、概念解析 网络安全保证等级&#xff08;Cybersecurity Assurance Level&#xff09;通常指在不同标准或框架下&#xff0c;根据系统或数据的敏感性、重要性以及潜在风险划分的等级&#xff0c;用于指导组织采取相应的安全防护措施。以下是几个常见的网络安全保证等级体系及…...

Quartus + VScode 实现模块化流水灯

文章目录 一、通过VScode编写Verilog代码二、模块化编程三、代码示例 一、通过VScode编写Verilog代码 1、下载Vscode 2、下载相关插件 搜索Verilog就会弹出有如图所示的插件&#xff0c;下载并安装 3、创建Quartus项目 4、创建完成后点击Tools&#xff0c;选择Options 然后在…...

从两指到三指:Robotiq机器人自适应夹持器技术解析

工业自动化离不开高效工具的支持。Robotiq机器人工具凭借其模块化设计和智能化编程技术&#xff0c;提升了设备的灵活性和操作效率。Robotiq机器人工具精准的传感器和自适应夹持器技术&#xff0c;能够满足多样化的应用需求&#xff0c;为制造业、物流和科研等领域提供可靠的解…...

网络安全应急入门到实战

奇安信&#xff1a;95015网络安全应急响应分析报告&#xff08;2022-2024年&#xff09;官网可以下载 https://github.com/Bypass007/Emergency-Response-Notes 应急响应实战笔记 网络安全应急响应技术实战指南 .pdf 常见场景 第4章 勒索病毒网络安全应急响应 第5章 挖矿木…...

Flutter IconButton完全指南:高效使用与性能优化秘籍

目录 一、引言 二、IconButton 的基本用法 三、 进阶技巧 3.1 自定义形状与背景 3.2 带文本的 IconButton&#xff08;使用 Column 组合&#xff09; 3.3 自定义交互反馈 3.4 动态图标切换 3.5 组合式按钮&#xff08;图标 文字&#xff09; 四、高级应用 4.1 与主题…...

跨国生产制造企业:如何破解远距离数据传输难题?

在全球制造业数字化转型的背景下&#xff0c;跨国生产制造企业的文件传输需求正呈现指数级增长。无论是设计图纸、生产计划、质量控制数据&#xff0c;还是供应链协同信息&#xff0c;跨国文件传输已成为制造业高效运营的核心环节。 然而&#xff0c;制造业文件大数据传输具有文…...

大模型如何赋能安全防御?威胁检测与漏洞挖掘的“AI革命”

&#x1f680; 引言&#xff1a;大模型是“安全守护神”还是“双刃剑”&#xff1f; 当黑客用AI生成恶意代码&#xff0c;安全团队也能用大模型“魔法打败魔法”&#xff01; 划重点&#xff1a;大模型不仅是“生产力工具”&#xff0c;更是安全防御的“智能武器库”&#xff0…...

uniapp常用组件

写在前面 今天将uniapp中的组件都过了一遍&#xff0c;上手难度不大&#xff0c;但是还是遇到了一些问题&#xff1a; HBuilder实在是太难用&#xff0c;不管是插件生态还是设计之类的&#xff0c;总之就是用的哪哪不顺手虽然打开内置浏览器是挺方便的&#xff0c;但是不知道…...

Oracle OCP认证没落了吗?

Oracle OCP认证没落了吗? Oracle的OCP认证是数据库领域必考的一个认证&#xff0c;但随着国产化的发展&#xff0c;国内很多企业开发了自己的数据库产品&#xff0c;这种情况对很多人造成了错误的认识&#xff1a;OCP被淘汰了吗?不然&#xff0c;从行业需求、技术趋势、认证体…...

洛谷 P3986 斐波那契数列

P3986 斐波那契数列 题目描述 定义一个数列&#xff1a; f ( 0 ) a , f ( 1 ) b , f ( n ) f ( n − 1 ) f ( n − 2 ) f(0) a, f(1) b, f(n) f(n - 1) f(n - 2) f(0)a,f(1)b,f(n)f(n−1)f(n−2) 其中 a, b 均为正整数&#xff0c;n ≥ 2。 问有多少种 (a, b)&…...

使用fastapi部署stable diffusion模型

使用vscode运行stable diffusion模型&#xff0c;每次加载模型都需要10分钟&#xff0c;为算法及prompt调试带来了极大麻烦。使用jupyter解决自然是一个比较好的方案&#xff0c;但如果jupyter由于种种原因不能使用时&#xff0c;fastapi无疑成为了一个很好的选择。 参考github…...

PyTorch使用(3)-张量类型转换

文章目录 张量类型转换1. 张量转换为 numpy 数组1.1. 默认行为&#xff1a;共享内存1.2. 避免内存共享1.2.1. 使用 .copy()1.2.2. 使用 torch.clone() .numpy() 1.3. 处理 GPU 张量1.4. 分离梯度跟踪1.5. 代码示例1.6. 关键注意事项1.7. 总结 2. 标量张量和数字的转换2.1. tor…...

基于FPGA的DDS连续FFT 仿真验证

基于FPGA的 DDS连续FFT 仿真验证 1 摘要 本文聚焦 AMD LogiCORE IP Fast Fourier Transform (FFT) 核心,深入剖析其在 FPGA 设计中的应用。该 FFT 核心基于 Cooley - Tukey 算法,具备丰富特性,如支持多种数据精度、算术类型及灵活的运行时配置。文中详细介绍了其架构选项、…...

【Spring 默认是否管理 Request 和 Session Bean 的生命周期?】

要测试 Spring 默认是否管理 Request 和 Session 作用域的 Bean 的生命周期&#xff0c;可以通过以下步骤实现&#xff1a; 验证 Spring 是否创建了 Bean&#xff1a;检查 Spring 容器是否成功加载并管理了 Request 和 Session 作用域的 Bean。验证 Bean 的生命周期回调方法是…...

Git的基本指令

一、回滚 1.git init 在项目文件夹中打开bash生成一个.git的子目录&#xff0c;产生一个仓库 2.git status 查看当前目录下的所有文件的状态 3.git add . 将该目录下的所有文件提交到暂存区 4.git add 文件名 将该目录下的指定文件提交到暂存区 5.git commit -m 备注信…...

【微信小程序(云开发模式)变通实现DeepSeek支持语音】

整体架构 前端&#xff08;微信小程序&#xff09;&#xff1a; 使用微信小程序云开发能力&#xff0c;实现录音功能。将录音文件上传到云存储。调用云函数进行语音识别和 DeepSeek 处理。界面模仿 DeepSeek&#xff0c;支持文本编辑。 后端&#xff08;云函数 Node.js&#…...

前端使用 crypto-js库AES加解密

前端使用 crypto-js库AES加解密 为什么需要前端加密&#xff1f; 现在项目使用http协议&#xff0c;且登录界面的用户登录密码是明文传输&#xff0c;项目真正上线后&#xff0c;存在信息泄露风险。 所以准备用前端框架加密处理用户输入的密码再传输。 crypto-js 库 crypto…...

七天MySQL密集学习计划

七天MySQL密集学习计划 第1天&#xff1a;MySQL基础和环境搭建 上午&#xff08;理论安装&#xff09; 数据库基本概念MySQL是什么关系型数据库基础安装MySQL Windows/Mac下安装步骤MySQL Workbench安装 基本配置和连接 下午&#xff08;基础操作&#xff09; 数据库和表的…...

Python程序常用的配置文件格式及例子(上)

Python 中常用的配置文件格式有多种&#xff0c;每种格式都有其特点和适用场景。以下是常见的配置文件类型及简要说明&#xff1a; 1. INI 格式 特点&#xff1a;简单键值对&#xff0c;支持分节&#xff08;Section&#xff09;。文件扩展名&#xff1a;.ini, .cfgPython 库&…...

Go语言对于MySQL的基本操作

一.下载依赖 终端中输入&#xff1a; go get -u github.com/go-sql-driver/mysql 导入包 import ("database/sql"_ "github.com/go-sql-driver/mysql" ) 二.案例 package main//go get-u github.com/go-sql-driver/mysql 获取驱动 import ("databa…...

一键批量txt转DWG,DWG转txt——插件实现 CAD c#二次开发

如下图&#xff0c;我们有大量dwg需要转为txt格式&#xff0c;或txt格式坐标需要转为dwg格式&#xff0c;此插件可一键完成一个文件夹下所有文件的转换。 插件使用方式 命令行输入&#xff1a; netload 加载此dll插件&#xff0c; 输入&#xff1a; dwg2txt 可将dwg转为t…...

SpringBoot 集成 Minio (附带工具类)

Minio 官方文档&#xff1a; https://www.minio.org.cn/docs/minio/container/index.html MinIO是一个对象存储解决方案&#xff0c;它提供了与Amazon Web Services S3兼容的API&#xff0c;并支持所有核心S3功能。 MinIO有能力在任何地方部署 - 公有云或私有云&#xff0c;裸…...

图论——Prim算法

53. 寻宝(第七期模拟笔试) 题目描述 在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路,方便运输。 不同岛屿之间,路途距离不同,国王希望你可以规划建公路的方案,如何可以以最短的总公路距离将 所有岛屿联通…...

Linux系统上后门程序的原理细节,请仔细解释一下

在Linux系统上&#xff0c;后门程序通常通过隐蔽的方式绕过正常的安全机制&#xff0c;允许攻击者未经授权访问系统。以下是其工作原理的详细解释&#xff1a; 1. 隐蔽性 隐藏进程&#xff1a;后门程序常通过修改进程列表或使用rootkit技术隐藏自身&#xff0c;避免被ps、top…...

Cursor与Blender-MCP生成3D模型

随着DeepSeek的热度&#xff0c;各行各业接入AI智能&#xff0c;当然作为一个深受3D爱好者喜爱的软件——Blender&#xff0c;也接入了AI智能&#xff0c;通过Blender-MCP&#xff0c;开启一场Blender的智能化模型创建的世界之旅。 目录 1.准备工作2.环境配置2.1 Mac安装2.2 W…...

Object 转 JSONObject 并排除null和““字符串

public static JSONObject objToJSONObject(Object obj) throws Exception{//创建一个 HashMap 对象 map&#xff0c;用于存储对象的属性名和属性值。//key 是属性名&#xff08;String 类型&#xff09;&#xff0c;value 是属性值&#xff08;Object 类型&#xff09;Map<…...

物联网为什么用MQTT不用 HTTP 或 UDP?

先来两个代码对比&#xff0c;上传温度数据给服务器。 MQTT代码示例 // MQTT 客户端连接到 MQTT 服务器 mqttClient.connect("mqtt://broker.server.com:8883", clientId) // 订阅特定主题 mqttClient.subscribe("sensor/data", qos1) // …...

LeetCode135☞分糖果

关联LeetCode题号135 本题特点 贪心两次遍历&#xff0c;一次正序遍历&#xff0c;只比较左边&#xff0c;左边比右边大的情况 i-1 i一次倒序遍历&#xff0c;只比较右边的&#xff0c;右边比左边大 i1 i 本题思路 class Solution:def candy(self, ratings: List[int]) -&g…...

YOLO魔改之频率分割模块(FDM)

目标检测原理 目标检测是一种将目标分割和识别相结合的图像处理技术,旨在从图像中定位并识别特定目标。深度学习方法,如Faster R-CNN和YOLO系列,已成为主流解决方案。这些方法通常采用两阶段或单阶段策略,通过卷积神经网络(CNN)提取特征并进行分类和定位。 在小目标检测中…...

AI学习——卷积神经网络(CNN)入门

作为人类&#xff0c;我们天生擅长“看”东西&#xff1a;一眼就能认出猫狗、分辨红绿灯、读懂朋友的表情……但计算机的“眼睛”最初是一片空白。直到卷积神经网络&#xff08;CNN&#xff09;​的出现&#xff0c;计算机才真正开始理解图像。今天&#xff0c;我们就用最通俗的…...

【资源损坏类故障】:详细了解坏块

目录 1、物理坏块与逻辑坏块 1.1、物理坏块 1.2、逻辑坏块 2、两个坏块相关的参数 2.1、db_block_checksum 2.2、db_block_checking 3、检测坏块 3.1、告警日志 3.2、RMAN 3.3、ANALYZE 3.4、数据字典 3.5、DBVERIFY 4、修复坏块 4.1、RMAN修复 4.2、DBMS_REPA…...

Django系列教程(13)——Cookie和Session应用场景及案例

目录 什么是cookie&#xff0c;cookie的应用场景及缺点 Django中如何使用cookie Cookie使用示例 什么是session及session的工作原理 Django中如何使用会话session Session使用示例 小结 HTTP协议本身是”无状态”的&#xff0c;在一次请求和下一次请求之间没有任何状态保…...

给管理商场消防安全搭建消防安全培训小程序全过程

一、需求沟通 “我是管理商场消防安全的嘛&#xff0c;做这个的作用呢&#xff0c;1是商场的所有商户员工可以看平面或者视频随时自学&#xff0c; 2是我们定期培训必修课程、考试&#xff0c;这个需要留存他们的手签字的签到表确认我们讲给他们听了&#xff08;免责很重要&am…...

YOLOv11 目标检测

本文章不再赘述anaconda的下载以及虚拟环境的配置&#xff0c;博主使用的python版本为3.8 1.获取YOLOv11的源工程文件 链接&#xff1a;GitHub - ultralytics/ultralytics: Ultralytics YOLO11 &#x1f680; 直接下载解压 2.需要自己准备的文件 文件结构如下&#xff1a;红…...

数据库原理实验报告:Powerdesigner建模E-R模型并转换表

注&#xff1a;此实验并不完整&#xff0c;仅供参考&#xff0c;如需完整版请私我留言 一、实验目的&#xff1a; 二、实验工具&#xff1a; 三、实验要求&#xff1a; 四、实验过程&#xff1a; 图文并茂&#xff0c;每一步都包含详细图片&#xff0c;总共11页word&#xff01…...

【愚公系列】《高效使用DeepSeek》018-错题本整理

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...

面试八股 —— Redis篇

重点&#xff1a;缓存 和 分布式锁 缓存&#xff08;穿透&#xff0c;击穿&#xff0c;雪崩&#xff09; 降级可作为系统的保底策略&#xff0c;适用于穿透&#xff0c;击穿&#xff0c;雪崩 1.缓存穿透 2.缓存击穿 3.缓存雪崩 缓存——双写一致性 1.强一致性业务&#xff08…...

maven的安装配置

目录 一、官网下载压缩包 二、配置环境变量 设置 MAVEN_HOME 添加 MAVEN_HOME\bin 到 PATH 三、配置本机仓库和远程仓库 四、配置idea 一、官网下载压缩包 Download Apache Maven – Maven 如上图。选择这个压缩包 选择好文件&#xff0c;下载完后&#xff0c;配置环境变…...

SpringCloud系列教程(十四):Sentinel持久化

Sentinel之前已经搭建和应用成功了&#xff0c;但是它有一个很大的缺点就是官方没有提供持久化的方案&#xff0c;从项目源码上看感觉这款工具也没有完成的太好&#xff0c;所以需要我们去对它进行二次开发。要补充的功能大概如下&#xff1a; 1、将Sentinel接入nacos中&#…...