FreeModbus開源協議棧的移植和詳解(一)- FreeModbus的下載和文件結構

引言

很多做單片機或者嵌入式的朋友對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的具體代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章