<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[luck_lsj的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/luck_lsj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; luck_lsj]]></copyright><item><title><![CDATA[Modbus ASCII 协议介绍]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/151228617</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/151228617</guid><author>luck_lsj</author><pubDate>Fri, 05 Sep 2025 18:13:36 +0800</pubDate><description><![CDATA[异步串行传输方式，使用ASCII 码形式传输数据，每个8位字节作为2个 ASCII 字符发送，通过串口通信。]]></description><category></category></item><item><title><![CDATA[Modbus RTU 协议介绍]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/151228239</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/151228239</guid><author>luck_lsj</author><pubDate>Fri, 05 Sep 2025 17:51:53 +0800</pubDate><description><![CDATA[Modbus RTU 协议介绍Modbus RTU 协议介绍异步串行传输方式，采用二进制格式，适用于串行通讯（如RS-485），效率高，是工业现场的主流选择。主站是Master，从站是Slave。Modbus RTU 协议格式帧结构地址码（1字节）：从设备的地址，取值1-247。功能码（1字节）：指定操作类型，如读取或写入。数据区（长度可变）：包含具体的操作数据。CRC校验（2字节）：循环冗余校验码，确保数据无误。功能码。]]></description><category></category></item><item><title><![CDATA[Modbus协议介绍]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/151228222</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/151228222</guid><author>luck_lsj</author><pubDate>Fri, 05 Sep 2025 17:50:56 +0800</pubDate><description><![CDATA[Modbus是一种开放的串行通信协议，支持RS-232、RS-485和TCP/IP网络等多种传输方式，具有简单、紧凑、易用的特点。它采用主从式通信模式，支持多种功能码和存储区类型（线圈、输入线圈、保持型寄存器、输入寄存器）。Modbus协议分为RTU（二进制）和ASCII（文本）两种串行模式，以及基于TCP/IP的Modbus TCP。协议采用大端字节序存储，并提供了多种通信库（如NModbus4、HslCommunication）简化开发。Modbus广泛应用于工业控制领域，支持多种电气接口和传输介质。]]></description><category></category></item><item><title><![CDATA[串口通信基础知识]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/151228196</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/151228196</guid><author>luck_lsj</author><pubDate>Fri, 05 Sep 2025 17:50:09 +0800</pubDate><description><![CDATA[本文介绍了串口通信的基础知识，重点讲解了.NET中的SerialPort类及其使用方法。主要内容包括：串口通信的基本参数配置（波特率、数据位、校验位等）、串口对象的创建方式、核心属性与方法（如打开/关闭串口、数据读写操作）、数据接收事件DataReceived的实现，以及使用中的注意事项（线程安全、资源释放和缓冲区管理）。文中提供了多个C#代码示例，涵盖串口初始化、数据收发等常见操作场景，为开发者快速掌握串口通信编程提供了实用参考。]]></description><category></category></item><item><title><![CDATA[上位机通信基础知识]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/151228130</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/151228130</guid><author>luck_lsj</author><pubDate>Fri, 05 Sep 2025 17:47:51 +0800</pubDate><description><![CDATA[上位机与下位机通信通过特定的协议和硬件接口，实现双向数据交换。]]></description><category></category></item><item><title><![CDATA[Modbus Tcp 协议介绍]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/150867032</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/150867032</guid><author>luck_lsj</author><pubDate>Tue, 26 Aug 2025 18:44:20 +0800</pubDate><description><![CDATA[Modbus TCP协议是基于TCP/IP网络的Modbus协议变种，支持多从站同时访问主站并通过事务标识符区分并发请求。其报文结构包含7字节MBAP头（含事务标识、协议标识等）和功能码+数据域。主要功能码包括03(读保持寄存器)、06(写单个寄存器)和10(写多个寄存器)。文中详细解析了各功能码的请求/响应报文格式，并通过具体案例展示了十六进制报文的结构和字节含义。该协议支持1-247从站地址，采用大端字节序传输数据，适用于工业自动化领域的设备通信。]]></description><category></category></item><item><title><![CDATA[餐馆(求最大的总预计消费金额)]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/146353457</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/146353457</guid><author>luck_lsj</author><pubDate>Tue, 18 Mar 2025 22:23:41 +0800</pubDate><description><![CDATA[某餐馆有n张桌子，每张桌子有一个参数：a 可容纳的最大人数； 有m批客人，每批客人有两个参数:b人数，c预计消费金额。 在不允许拼桌的情况下，请实现一个算法选择其中一部分客人，使得总预计消费金额最大。]]></description><category></category></item><item><title><![CDATA[小乐乐改数字]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/146348884</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/146348884</guid><author>luck_lsj</author><pubDate>Tue, 18 Mar 2025 18:39:32 +0800</pubDate><description><![CDATA[小乐改数字编程题的解析。]]></description><category></category></item><item><title><![CDATA[设计模式原则——接口隔离原则]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/140001489</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/140001489</guid><author>luck_lsj</author><pubDate>Thu, 27 Jun 2024 00:22:08 +0800</pubDate><description><![CDATA[设计模式原则——接口隔离原则。]]></description><category></category></item><item><title><![CDATA[算法学习笔记——单双链表及其反转—堆栈诠释]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139973946</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139973946</guid><author>luck_lsj</author><pubDate>Wed, 26 Jun 2024 00:26:49 +0800</pubDate><description><![CDATA[什么是单链表，单链表是一种通过指针串联在一起的线性结构，每一个节点由两部分组成，一个是数据域一个是指针域（存放指向下一个节点的指针），最后一个节点的指针域指向null单链表不要求逻辑上相邻的两个元素在物理位置上也相邻，因此不需要连续的存储空间单链表的入口节点称为链表的头结点也就是head// 结点的值// 下一个节点// 节点的构造函数(有两个参数)]]></description><category></category></item><item><title><![CDATA[设计模式原则——迪米特法则原则]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139929261</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139929261</guid><author>luck_lsj</author><pubDate>Mon, 24 Jun 2024 16:08:51 +0800</pubDate><description><![CDATA[设计模式原则——迪米特法则原则。]]></description><category></category></item><item><title><![CDATA[设计模式原则——里氏替换原则]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139908765</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139908765</guid><author>luck_lsj</author><pubDate>Sun, 23 Jun 2024 23:44:33 +0800</pubDate><description><![CDATA[与开闭原则不同的是开闭原则可以改变父类原有的功能，里氏替换原则不能修改父类的原有的性质，即使子类扩展了父类的功能，也不能改变父类的原有功能。信用卡继承并重写储蓄卡的功能，破坏了里氏替换原则，根据里氏替换原则进行修改。继承必须确保父类所拥有的性质在子类中依然成立。提高兼容性、维护性和扩展性。]]></description><category></category></item><item><title><![CDATA[设计模式原则——开闭原则]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139908722</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139908722</guid><author>luck_lsj</author><pubDate>Sun, 23 Jun 2024 23:37:18 +0800</pubDate><description><![CDATA[设计模式原则——开闭原则。]]></description><category></category></item><item><title><![CDATA[设计模式原则——单一职责原则（SPS）]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139885324</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139885324</guid><author>luck_lsj</author><pubDate>Sat, 22 Jun 2024 17:20:50 +0800</pubDate><description><![CDATA[设计模式原则——单一职责原则（SPS）]]></description><category></category></item><item><title><![CDATA[设计模式——设计模式介绍]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139885301</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139885301</guid><author>luck_lsj</author><pubDate>Sat, 22 Jun 2024 17:16:59 +0800</pubDate><description><![CDATA[设计模式
设计模式介绍
设计模式：

系统服务设计中针对场景的一种解决方案，可以解决功能逻辑开发中的共性问题，并非所有问题
一种开发思想，每个设计模式都有解决某一类问题的概念模型，不要拘束于一种的固定的代码格式，要根据具体场景做出变化
同一种设计模式，不同场景，不同代码实现方式，以及不同开发人员去实现，都会有不同的代码方案
高内聚、低耦合和可复用的特点
在组件中使用比较频繁，比如：RPC框架，引擎的决策树等
主要通过实际案例来理解学习，不要只通过硬背概念，这样实际应用中存在问题

设计模式的类型：
创建型模]]></description><category></category></item><item><title><![CDATA[算法学习笔记——算法和数据结构简介]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139511269</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139511269</guid><author>luck_lsj</author><pubDate>Thu, 06 Jun 2024 22:18:59 +0800</pubDate><description><![CDATA[精确求解大厂算法和数据结构笔试、面试题、acm比赛或者和acm形式类似的比赛，考虑的都是硬计算类算法但是某些问题使用硬计算类的算法，可能会让计算的复杂度较高。]]></description><category></category></item><item><title><![CDATA[算法学习笔记——时间复杂度和空间复杂度]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139456627</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139456627</guid><author>luck_lsj</author><pubDate>Tue, 04 Jun 2024 23:47:45 +0800</pubDate><description><![CDATA[因为一次扩容后可能很久不会再扩容了，每次都计算整体的复杂度太麻烦就把每次扩容能分摊到的时间复杂度进行计算，看整个过程调用了多少次来估计整体的时间复杂度。涉及动态数组，先申请一个固定大小的数组，当数组不够用时，再申请一个相应倍数的数组，把旧数组中的值拷贝到旧数组中，一共加入了N个数总代价，单次调用是。链表的get(i)方法不是常数操作，因为链表不是连续的存储空间，靠着指针链接着，要靠头节点一个个的往下查，是一定要查找这么多个数的。比如只有一个while的循环的冒泡排序，其实时间复杂度是。]]></description><category></category></item><item><title><![CDATA[算法学习笔记——二分搜索]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139389363</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139389363</guid><author>luck_lsj</author><pubDate>Sun, 02 Jun 2024 11:56:35 +0800</pubDate><description><![CDATA[0位置不是峰值，N-1位置不是峰值，则呈现左边上扬右边下降的趋势，这中间会出现一个或者多个峰值。数组条件：数组中相邻的两个数不相等， 只返回一个峰值就行。为峰值，如果右边或者左边没数值可以认为是无穷小。]]></description><category></category></item><item><title><![CDATA[算法学习笔记——对数器]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139389352</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139389352</guid><author>luck_lsj</author><pubDate>Sun, 02 Jun 2024 11:56:01 +0800</pubDate><description><![CDATA[对数器的门槛其实是比较高的，因为往往需要在两种不同思路下实现功能相同的两个方法，暴力一个、想象中的最优解是另一个。以后的很多题目都用到对数器，几乎可以验证任何方法，尤其在验证贪心、观察规律方面很有用。关键是第5步，找到一个数据量小的错误样本，便于你去带入debug。然后把错误例子带入代码一步一步排查。Print大法、断点技术都可以。]]></description><category></category></item><item><title><![CDATA[算法学习笔记——选择、冒泡、插入排序]]></title><link>https://blog.youkuaiyun.com/luck_lsj/article/details/139389342</link><guid>https://blog.youkuaiyun.com/luck_lsj/article/details/139389342</guid><author>luck_lsj</author><pubDate>Sun, 02 Jun 2024 11:55:03 +0800</pubDate><description><![CDATA[算法学习笔记——选择、冒泡、插入排序。]]></description><category></category></item></channel></rss>