Skip to content

Commit e7bae62

Browse files
committedJun 13, 2014
1、【修改】readme文件格式
Signed-off-by: armink <armink.ztl@gmail.com>
1 parent 0caf994 commit e7bae62

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed
 

‎README.md

+6
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ FreeModbus是一款开源的Modbus协议栈,但是只有从机开源,主机
1010
- 支持实时操作系统及裸机移植;
1111
- 为应用提供多种请求模式,用户可以选择阻塞还是非阻塞模式,自定义超时时间等,方便应用层灵活调用;
1212
- 支持所有常用的Modbus方法。
13+
1314
### 1.1、文件结构
15+
1416
|源文件 |描述 |
1517
|:------------------------------ |:----- |
1618
|FreeModbus\modbus\mb.c |给应用层提供Modbus从机设置及轮训相关接口|
@@ -43,17 +45,20 @@ FreeModbus是一款开源的Modbus协议栈,但是只有从机开源,主机
4345
> 注:所有带_m后缀的文件为主机模式下必须使用的文件,如使用从机模式则无需这些文件。
4446
4547
----------
48+
4649
## 二、移植
4750
对于协议栈的移植主要包括两个方面,硬件及软件。用户需要根据自己的需求进行自行选择。
4851

4952
> 注:以下所有说明都主要针对Modbus主机模式进行介绍。
5053
5154
### 2.1、软件
5255
软件方面支持基于裸机及实时操作系统的移植;支持单个主机与单个从机同时独立运行。另外用户也可以修改协议栈的事件回调接口,使主机请求的接口采用阻塞及非阻塞模式;主机资源等待方面,用户也可以设置等待超时时间等等,诸多功能将会一一介绍。
56+
5357
#### 2.1.1、操作系统与裸机
5458
对于操作系统与裸机目前协议栈都是支持的,但个人更加推荐采用实时操作系统,因为这样会使得接口调用及接口移植变得更加简单。目前提供移植完成的操作系统包括国人的[RT-Thread][1]实时操作系统及uCOS操作系统。
5559
操作系统与裸机移植的过程中涉及的文件为`FreeModbus\port\portevent_m.c`
5660
该文件主要有以下需要用户移植的接口
61+
5762
|接口 |功能描述|
5863
|:----- |:----|
5964
|xMBMasterPortEventInit |主机事件初始化|
@@ -75,6 +80,7 @@ FreeModbus是一款开源的Modbus协议栈,但是只有从机开源,主机
7580
#### 2.1.2、数据缓冲区
7681
数据缓冲区定义的位置位于`FreeModbus\port\user_mb_app_m.c`文件顶部,共计4种数据类型。
7782
FreeModbus从机默认使用一维数组作为缓存区数据结构,主机可以存储所有网内从机的数据,所以主机采用二位数组对所有从机节点数据进行存储。二维数组的列号代表寄存器、线圈及离散量地址,行号代表从机节点ID,但需要做减一处理,例如`usMRegHoldBuf[2][1]`代表从机ID为3,保持寄存器地址为1的从机数据。
83+
7884
#### 2.1.3、Modbus数据处理回调接口
7985
Modbus一共有4种不同的数据类型,所有的Modbus功能都围绕这些数据类型进行操作。由于不同的用户数据缓冲区结构可能有所不同,那么对应的Modbus数据处理方式也就存在差异,所以用户需要把每种数据类型对应的操作,按照自己的数据缓冲区结构进行定制实现。
8086
所有的Modbus数据处理回调接口如下:

0 commit comments

Comments
 (0)