自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

方亮的专栏

方亮的专栏

  • 博客(697)
  • 资源 (2)
  • 收藏
  • 关注

原创 谈代码注释

只要写代码,就会遇到代码注释的问题。在不同的公司,不同的项目组,不同的项目中,可能会有不同的注释标准。有些标准让我们感觉很受益,有些则让我们感觉很反感。而对于没有明确标准的项目,我们往往会遇到“百花齐放,百家争鸣”般的注释。我无法给出一个明确的标准,只是在此探讨下:什么样的注释不应该写,什么地方需要写注释。(转载请指明出于breaksoftware的csdn博客)“不”的原则...

2018-04-01 01:24:25 10591 9

原创 51单片机编程学习笔记——动态数码管显示多个数字

在一文中,我们看到如何使用动态数码管显示数字。但是基于动态数码管设计的特点,每次只能显示1个数字。这就不能让我们一次性显示多个数字,比如666就无法显示。如果我们要让动态数码管“显示”多个数,就要结合我们人眼的视觉残留。人眼的视觉残留又称视觉暂留,是指物体在快速运动时,当人眼所看到的影像消失后,人眼仍能继续保留其影像 0.1 - 0.4 秒左右的图像。

2025-03-04 23:58:27 1087 2

原创 51单片机编程学习笔记——动态数码管

有了和的基础,我们就可以开始学习动态数码管的编程方法。我们首先要看下动态数码管的电路图。

2025-03-04 01:02:37 831

原创 51单片机编程学习笔记——74HC245八路三态输出双向收发器

在单片机系统里,单片机的 I/O 口驱动能力往往有限。当需要连接较多外部设备或者负载较大时,就可能出现信号传输不稳定的问题。74HC245 收发器则能够很好地解决这一难题。通过将单片机的 I/O 口与 74HC245 的 A 端口相连,外部设备连接到 B 端口,利用 74HC245 的驱动能力。比如在一个智能环境监测系统中,单片机需要与多个传感器和显示设备进行通信。传感器采集到的环境数据(如温度、湿度等)需要准确无误地传输到单片机进行处理,而单片机处理后的结果又要传送到显示设备上显示。

2025-03-03 22:23:19 1232

原创 51单片机编程学习笔记——74HC138译码器

74HC138 是一款高速 CMOS 器件,属于二进制译码器,可将3位二进制输入代码转换为 8 个互斥的输出信号(2等于 8)。它的工作电压范围一般为 2.0V 至 6.0V,具有较宽的电压适应范围,能够满足多种不同电源电压的应用场景。它的原理图如下:下面我们会分开讲解各个模块。

2025-03-03 03:00:00 876

原创 51单片机编程学习笔记——管脚输入

一文中,我们了解了管脚和寄存器之间的关系。我们可以给寄存器的一些位设置值,然后控制管脚的电平,以达到给器件传输信号的目的。即我们可以通过器件影响寄存器的值,从而给单片机获取输入信息的机会。需要说明的是,电路图中给的K1和K2对应的管脚是错的。实际上,我购买的开发板上,K1对应P30,K2对应P31。在学习之前,我们需要知道P0~P3管脚在复位情况下的电平状态。基于这样的认知,我们可以通过判断P30~P31的位变量值是否为0,来得知对应按键是否被按下。图中4个按键的电路连接的都是P3系列的管脚。

2025-02-28 05:00:00 697

原创 51单片机编程学习笔记——管脚输出

是用于定义可位寻址对象的关键字,主要用于访问可位寻址的特殊功能寄存器中的某位或可位寻址的内部 RAM 单元,方便对这些特定位进行单独操作。这就意味着给它赋值(不是定义),实际修改的是该位空间中的值,而不是该位的地址。使用 sfr 关键字后,紧跟着是要定义的特殊功能寄存器的名称,然后是等号和该寄存器的地址值。这就意味着代码中P2表示的特殊功能寄存器,它的地址是0xA0。VCC作为正极在LED的P端,N端则连着单片机的P20管脚。我们再在原理图中查看单片机核心的原理图,可以找到P20管脚。

2025-02-28 02:45:00 924

原创 51单片机编程学习笔记——VSCode上开发代码

之前我们的例子都是在Keil中编写51单片机的代码。但是Keil的编辑界面非常不友好,而且没有AI加持,已经不能适应现代化的开发了。我们可以使用VSCode作为编码工具。它不仅可以提供AI功能,还能做代码补齐以及集成其他扩展。需要说明的是,VSCode只能作为编码工具,而不能作为编译工具。这就意味着我们还是需要安装Keil。

2025-02-27 01:35:30 307

原创 51单片机编程学习笔记——Delay效果的实现

有毫秒和微秒两个单位。我们选择生成延时1毫秒。这样我们就会得到代码。_nop_();i = 2;j = 199;do。

2025-02-27 00:48:25 826

原创 51单片机编程学习笔记——从0到1创建Keil工程

在熟悉了一文后,我们可以根据学到的知识编写一段程序,让LED每隔一段时间闪烁一次。不同于中直接借用了教程中的工程项目,本例我们将创建一个全新的工程来完成需求。

2025-02-26 22:19:01 386

原创 51单片机编程学习笔记——LED原理图

在一文中,我们通过下面这段代码点亮了D1和D2两个LED灯。那么我们是怎么知道P0^2对应第一个LED的呢?这就需要我们能看懂LED电路原理图。在学习 51 单片机的过程中,能看懂电路原理图具有举足轻重的意义。51 单片机作为一款经典的微控制器,广泛应用于各类电子设备开发。而。首先,看懂电路原理图是进行硬件设计的基础。当着手设计基于 51 单片机的系统时,只有清晰了解各个元器件在电路中的位置、连接方式以及它们与单片机的接口关系,才能合理地选择和布局元器件,搭建出稳定可靠的硬件平台。

2025-02-26 00:23:48 905

原创 51单片机编程学习笔记——点亮LED

因为开发板已经帮我们把很多元器件和引脚连接好了,而我们当前关注的重点不是接引脚,而是编程,所以我们选择购买开发板。下面是我购买板子的商家提供的地址:pwd=1234 提取码:1234。

2025-02-24 23:18:20 889

原创 51单片机编程学习笔记——编译代码点亮LED

一般情况下,开发板商家会提供开发相关的套件和资料。我们只要在这个资料中找到编译器和破解程序(在目录下:5–开发工具\1-KEILC51软件),按照步骤执行即可。非破解版可以编译代码量小于2K的工程,而对超过2K的代码则会报错。为了避免以后的麻烦,我们可以购买正版或者破解它。破解过程不表,可以在网上找到资料。需要注意的是,启动Keil时需要使用“管理员”权限。

2025-02-24 23:16:19 206

原创 闯关leetcode——3127. Make a Square with the Same Color

我们只要检测一个格子周边是否存在2个同色格子即可判断“否”的场景,其他都是“是”的场景。3的矩阵中,检测是否存在最多只用改变一次颜色,就可以形成一个2。

2024-12-31 15:39:50 1318

原创 闯关leetcode——3110. Score of a String

这题就是要统计相邻两个字符之差的绝对值之和。

2024-12-31 15:39:33 433

原创 闯关leetcode——3131. Find the Integer Added to Array I

这题是说一个数组中的元素是由另外一个数组中的元素加上(减去)某个数之后得到的,但是数组中元素顺序是乱的。

2024-12-31 15:39:22 915

原创 闯关leetcode——3136. Valid Word

解法也很简单,按这些条件把规则写好即可。

2024-12-31 15:39:01 1204

原创 Robot Operating System——位置和速度信息

nav_msgs::msg::Odometry 是 ROS 2 中的一个消息类型,用于表示机器人在环境中的位置和速度信息。里程计(Odometry)数据通常由轮式编码器、惯性测量单元(IMU)等传感器提供,用于跟踪机器人的运动状态。

2024-12-31 15:38:45 1054

原创 闯关leetcode——3146. Permutation Difference between Two Strings

我们借助一个vector将第一个字符串中字符下标进行保存,然后再计算它们和第二个字符串中相同字符的下标差值。这题就是要求出两个相同字符组合、不同顺序的字符串中,相同字符下标差的绝对值之和。

2024-12-31 15:38:00 1042

原创 闯关leetcode——3120. Count the Number of Special Characters I

我们的解题思路就是把大小写字符都归到各自的bitset结构中。然后两个bitset取与操作,最后看看有多少位是1.这题就是要在一个字符串中找出,同时出现了大小写字符的个数。

2024-12-31 15:37:47 423

原创 闯关leetcode——3142. Check if Grid Satisfies Conditions

这题就是要检测一个二维数组是否符合以下特征:在行上相邻两数字不相等,列上数字相等。我们的方法就是先检测第一列相邻的两个数字是否不等;然后再检测列上的数字相同。

2024-12-28 00:30:00 671

原创 Joget研究——Joget8商业版部署

在MySQL命令行中,执行以下命令来设置root用户的密码。由于我们配置正确的数据库连接信息,所以需要通过打开。这样我们就可以使用admin账户在下面页面中登录。仍然以root用户登录Mysql。配置正确后,可以看到如下的提示。在上述文件中,新增如下内容。重新加载环境,并检验环境。设置正确的端口和密码。

2024-12-28 00:15:00 1085

原创 闯关leetcode——3184. Count Pairs That Form a Complete Day I

取模得到的其他数字需要和24与其的差组成数字对,比如1要和23,11要和13。但是这类问题,我们可以将其归到24以内来做处理——即对所有数字按24取模。取模得到12的数字说明是12的倍数,它们也可以成为合法的数字对。取模得到0的数字说明是24的倍数,它们可以成为合法的数字对;这题就是求一个数组中,两两之和是24的倍数的数字对的个数。比较容易想到的方法就是两层for循环去计算。

2024-12-27 04:00:00 968

原创 低代码开源项目Joget的研究——Joget8社区版安装部署

在一文中,我们介绍了oget7的部署。本文我们将介绍Joget8.1社区版的编译部署。

2024-12-27 03:30:00 1246

原创 闯关leetcode——3168. Minimum Number of Chairs in a Waiting Room

这题就是模拟一个队列,E代表如队列,L代表出队列。然后按照字符串中的EL的信息,计算出这个队列最长时是多长。我们不用使用队列或者栈这样的数据结构,直接使用计数器来做就行了。

2024-12-26 21:20:28 585

原创 Windows Subsystem for Linux——设置默认登录用户名

一文中,我们实现了子系统的导出和导入,但是也带来了一个问题:登录到系统时,会使用root用户。在一些场景下,这并不符合我们的使用场景——我们并不希望直接使用root用户登录。这样我们在PowerShell中登录该子系统就会使用我们默认设置的用户名。对这个问题,我们可以进入linux子系统,修改相关配置,来解决这个问题。然而我们在使用vscode连接时,也会遇到这个问题。针对这个问题,我们可以通过更多参数命令来登录。vscode连接该子系统也会使用默认用户名。这个时候,我们都需要使用su来切换用户。

2024-12-26 21:19:45 702

原创 闯关leetcode——3158. Find the XOR of Numbers Which Appear Twice

因为这题中出现一次的数可能有多个,所以不能直接用异或操作来找出哪些数只出现了一次。这样我们就需要引入一个数据结构(unordered_set)来寻找重复出现的数。这题就是要对一个数组中重复出现两次的数进行异或运算。找到出现两次的数,对其进行异或操作就得到最终结果了。

2024-12-24 23:07:28 505

原创 低代码开源项目Joget的研究——基本概念和Joget7社区版应用

概念: Form 是用于收集和管理用户输入数据的界面组件。它是 Joget 应用程序中的一个核心部分。用途: 用于创建、编辑和查看数据记录,并且可以与 Joget 的工作流和数据管理功能集成。组成: Form 由多个 Section 组成,每个 Section 可以包含多个 Column 和 Field。概念: Section 是 Form 中的一个分组容器,用于将相关的表单字段组织在一起。用途逻辑分组: 将相关的字段分组在一起,使表单更加有序和易于理解。布局管理。

2024-12-24 23:06:54 1622

原创 闯关leetcode——3162. Find the Number of Good Pairs I

这题就是要检查nums1中的元素是否可以被nums2中的元素与k的积整除。

2024-12-23 21:48:17 334

原创 低代码开源项目Joget的研究——Joget7社区版安装部署

Joget,作为一款开源的低代码/无代码平台,为企业和开发者提供了一个强大且灵活的解决方案,用于快速构建和部署业务流程应用、表单应用以及工作流管理系统。该平台以其用户友好的界面和丰富的功能集,极大地简化了应用开发的复杂性,使得非技术人员也能轻松参与创建和管理业务流程。Joget的核心优势之一是其。用户可以通过拖放式的界面设计工具,快速搭建出符合自己业务需求的表单和仪表盘。同时,其强大的支持复杂的业务逻辑和审批流程,确保企业业务的高效运转。此外,Joget还提供了丰富的和。

2024-12-23 21:46:48 1396

原创 使用Spleeter进行人声背景声分离

Spleeter 是一个由 Deezer 开发的开源音频分离工具。它使用深度学习技术,可以将音乐音频文件分离成不同的音轨,例如人声、鼓、贝斯和其他乐器。Spleeter 提供了多种预训练模型,支持 2、4 和 5 个音轨的分离。它的高效性和易用性使其成为音乐制作、音频处理和研究领域的热门工具。

2024-12-18 10:45:12 430

原创 闯关leetcode——3151. Special Array I

我的思路是先通过第一个元素定性这个数组的奇偶性规律——奇偶、偶奇,然后按位对比一次即可。我并不想每次都检测相邻的两个数,因为这样对比操作相当于增加了一倍。这题就是要检测一个数组中,相邻的两个数是否奇偶性不一致。

2024-11-15 00:30:00 404

原创 企业一站式管理系统odoo的研究——PLM插件的搭建

PLM(Product Lifecycle Management)系统,即产品生命周期管理系统,是一种对产品从概念设计到退出市场的全生命周期过程进行管理的信息化解决方案。在产品开发阶段,PLM 系统发挥着关键作用。它能够整合多种设计工具,例如 CAD(计算机辅助设计)、CAM(计算机辅助制造)和 CAE(计算机辅助工程)等,使不同专业的设计人员可以在一个统一的平台上协同工作。设计师们可以方便地共享设计数据、版本信息,避免因数据不一致导致的设计失误,同时也提高了设计效率,缩短了产品开发周期。

2024-11-15 00:15:00 1852

原创 闯关leetcode——3178. Find the Child Who Has the Ball After K Seconds

可以算出下标移动到最右侧节点(比如下图中的3)后,还要移动几次(假设是m次)。从右向左移动m次,相当于从左边第一个节点(0)向右移动n -1 -m次——这题就是要求在一个长度为n的数组中,沿着一个方向移动下标k次(碰到边界就反向)后,下标所在的位置。我们首先将一个链表想象成一个环状(如下图)。可以得出移动k次后,会落到哪个元素上。如果落在绿色节点上,则需要做个计算。如果落在蓝色节点上,则直接返回。

2024-11-14 22:00:00 953

原创 企业一站式管理系统odoo的研究——系统搭建

Odoo 是一款功能强大、开源的企业资源规划(ERP)和客户关系管理(CRM)软件套件,为企业提供了全面的业务管理解决方案。从功能角度来看,Odoo 涵盖了广泛的业务领域。在方面,它支持销售订单处理、报价管理、客户跟进以及销售数据分析,帮助企业优化销售流程、提高销售效率和精准度。对于,能够实时监控库存水平、管理货物进出库、进行库存盘点和预测,确保企业库存的合理配置,减少库存积压和缺货情况。在。

2024-11-14 21:45:00 1597

原创 闯关leetcode——3174. Clear Digits

我们可以遍历这个字符串,将其非数字字符保存到新的字符串中;一旦遇到数字,则再从新的字符串中去除最后一个字符。这题就是要从一个字符串中去除数字以及紧挨着它左侧的第一个非数字字符。要将这个逻辑一直执行到所有数字去除掉。

2024-11-12 09:11:30 615

原创 闯关leetcode——3210. Find the Encrypted String

这题就是要求要找一定规则,将字符按一定规则重新排列。逻辑也很简单,只要按照规则去做就行了。可以优化的点是:保存结果的string在初始化时就分配好内存,然后逐位修改。这样就可以避免字符串不停扩展内存。

2024-11-12 09:11:14 425

原创 闯关leetcode——3206. Alternating Groups I

这题就是要求两个相同颜色夹一个其他颜色的组合个数。这题唯一需要注意的就是使用vector的下标表达环形结构。

2024-11-11 19:43:06 493

原创 闯关leetcode——202. Happy Number

这题要求Happy Number。它符合一种规律:迭代计算10进制数字每位平方的和,最终得到数字1。如果不是Happy Numer,那么计算过程中一定会出现某种循环。这样我们可以通过set结构来做校验。

2024-11-11 19:42:33 636

原创 闯关leetcode——3194. Minimum Average of Smallest and Largest Elements

这题就是要从一个数组中不停去除最大最小数,算出它们的均值,然后取出这些均值中最小的均值并返回。我们设计两个堆:大顶堆和小顶堆,然后不停取出它们的top值。这样取出的就是最大数和最小数。这种不停取出并去除最大最小数的问题,可以考虑使用优先队列。

2024-11-09 00:30:00 553

LuaCmdTest

我用于测试的一个lua脚本,没啥用,不用下载。

2012-11-27

同步双工管道

http://blog.youkuaiyun.com/breaksoftware/article/details/7001672文中的工程

2011-11-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除