FreeModbus开源协议栈的移植和详解(一)- FreeModbus的下载和文件结构

FreeModbus开源协议栈的移植和详解(一)

  • 引言
    • 一、FreeModbus的获取
    • 二、FreeModbus文件夹的介绍
    • 三、Modbus文件夹介绍
    • 四、小结

引言

很多做单片机或者嵌入式的朋友对Modbus协议应该不陌生了,Modbus协议也已经成为工控界设备之间通信的一种标准协议。笔者刚开始接触Modbus协议的时候,是自己按照Mod bus协议自己来写的代码,后来接触到FreeModbus后,就开始使用FreeModbus来搭建自己的软件,使用开源的协议栈可以很方便地进行开发,在这里记录下自己对FreeModbus的理解。建议初次接触Modbus协议的朋友先自己尝试写一个协议,这样可以加深对Modbus协议的理解,等对协议充分了解之后,无论是使用FreeModbus还是看其他的Modbus协议栈就很简单了。

一、FreeModbus的获取

目前,FreeModbus最新版本是V1.6,可以通过官网下载,链接如下:
https://www.embedded-solutions.at/en/freemodbus-downloads/

可以下载压缩包,也可以使用git工具来下载。

二、FreeModbus文件夹的介绍

下载完协议栈之后,解压压缩包,可以看到文件夹中有几个文件夹和几个文件,几个文件是对协议的一些升级说明和开源声明等等,这里我们主要关注两个文件夹,一个是Modbus文件夹(这个文件夹是FreeModbus的协议栈源码),另一个文件夹就是demo文件夹(这个文件夹中是在不同的平台上移植FreeModbus的一些事例,我们后面移植的时候可以参考)。

三、Modbus文件夹介绍

接下来我们来看看Modbus文件夹里面都有哪些东西。
打开ModBus文件夹,里面有五个文件夹和一个C文件,说明如下:

序号 名称 说明/描述
1 ascii 这个文件夹包含Modbus-ASCII协议的实现代码
2 functions 这个文件夹主要包括一些功能码对应的处理函数
3 include 里面主要是Modbus协议需要使用的一些头文件和配置文件
4 rtu 这个文件夹包含Modbus-RTU协议的实现代码
5 tcp 这个文件夹包含Modbus-TCP协议的实现代码
6 mb.c 这个是MODBUS协议栈的主文件,这个文件夹只是一个框架,与具体的协议无关。因为Modbus有三种具体的协议,分别为RTU、ASCII和TCP,具体的实现在1、4、5文件夹中,而mb.c在初始化的时候会根据使用情况将指针指向具体的处理函数。

注:具体的细节稍后再看,这里先大概了解一下每个文件夹里面包含什么即可,大家可以自己进去看一下,浏览一下文件。

四、小结

本篇博客作为开篇,简单介绍了一下FreeModbus的获取和文件夹的结构,从下面一篇开始,分析一下FreeModbus的具体代码。

你可能感兴趣的:(FreeModbus)