GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and dis
Freemodbus协议栈v1.5.0解析
需积分: 0 77 浏览量
更新于2024-04-10
1
收藏 4.2MB ZIP 举报
Modbus是一种广泛应用于工业自动化领域的通信协议,它允许设备之间进行简单、有效的数据交换。Modbus协议基于串行通信,最初由Modicon公司(现属于施耐德电气)于1979年开发,旨在满足PLC(可编程逻辑控制器)之间的通信需求。现在,Modbus已经成为一种开放标准,被各种不同类型的硬件制造商采用,如变频器、温控器、SCADA系统等。
Modbus协议主要有两种类型:Modbus RTU(Ring Terminal Unit)和Modbus TCP/IP。RTU是原始的串行通信模式,适合于距离较近、干扰较小的环境。而TCP/IP版本则利用了互联网协议,实现了更远距离、更高速度的网络通信。
在Modbus RTU中,数据以连续的二进制位流形式传输,每个数据帧包括起始位、地址、功能码、数据、校验和以及停止位。通信时,主设备(如PLC或PC)向一个或多个从设备发送请求,从设备响应后返回数据。Modbus支持多种数据类型,如寄存器读写、输入寄存器读取、线圈状态读写等。
在"freemodbus-v1.5.0"这个压缩包中,我们可能找到的是FreeModbus库的一个版本。FreeModbus是一个开源的Modbus协议实现,适用于嵌入式系统。它包含了Modbus RTU和TCP/IP两种模式的实现,为开发者提供了在微控制器上实现Modbus通信的功能。开发者可以使用这个库在自己的项目中轻松集成Modbus通信,从而让设备能够与使用Modbus协议的其他设备进行交互。
FreeModbus库通常会包含以下组件:
1. 源代码:C语言编写的Modbus协议实现,分为RTU和TCP/IP两个部分。
2. 示例代码:展示了如何在实际项目中调用库函数实现Modbus通信。
3. 文档:说明了库的使用方法、配置选项以及错误处理等。
4. 配置文件:用于设定库的行为,例如波特率、校验方式等。
在使用FreeModbus时,开发者需要了解如何配置和初始化库,以及如何编写处理Modbus请求和响应的回调函数。通过这个库,可以在微控制器上实现从设备的功能,响应主设备的读写请求,或者作为主设备向其他从设备发送命令。
Modbus是一种实用且广泛使用的通信协议,而FreeModbus库则为开发者提供了一个方便的工具来实现Modbus通信,特别是在嵌入式系统中。通过理解和应用这些知识,你可以构建出能够与其他Modbus设备无缝连接的系统。

越有能力的人越谦虚
- 粉丝: 19
- 资源: 4
最新资源
- zchunk-devel-1.5.1-1.el8.x64-86.rpm.tar.gz
- Python语言的分步教程
- CentOS安装docker心得体会PDF
- YOLOv5-v7.0-weights 模型权重汇总,主要用于检测预训练
- NC-Link连接与测试
- 用于nc-link连接的emqx.rar文件
- libemgucv-windesktop-4.7.0.5276.exe
- java面试题汇总#PDF·
- 大模型微调指南:使用DeePseek-R1进行特定领域专家模型训练与部署
- 田嗣琪个人简历.pdf
- python爬虫第一课-python基础PDF
- 轻量级卷积神经网络LiteResNet18:基于PyTorch的实现及其架构特点介绍
- 苏苏源码-springboot442-基于springboot街猫喂粮系统(编号:68985383).zip
- gantt甘特图拖拽功能模块开发
- win11更新后,远程桌面连接花屏,显示不完整出现方块、横杠
- (Java学习路线重点与目标PDF·