美文网首页
freeModbus移植

freeModbus移植

作者: Mr_White | 来源:发表于2023-09-14 16:14 被阅读0次

Modbus协议分析


Modbus是一种总线协议,主要用于工业领域的简单协议。主要有如下优点,无版权要求,易于部署和维护,修改没有很多限制。

Modbus有以下主要方式:
协议类型
Modbus RTU
Modbus ASCII
Modbus TCP
Modbus Plus

Modbus是主从方式通信,不能同步进行通信,总线上每次只有一个数据进行传输,即主机发送,从机应答;主机不发送,总线上就没有数据通信。

对于我们的网关系统来说,主要使用Modbus RTU/TCP两种协议。下面对常用的Modbus RTU/ASCII/TCP三种协议进行简要的介绍。

Modbus RTU

Modbus ASCII

Modbus TCP

代码移植

port.c文件

禁用和开启中断有两种方式,但__set_PRIMASK(1)__set_PRIMASK(0)是一个更底层的操作,直接操作处理器寄存器;而__disable_irq()__enable_irq()是一个更高层次的CMSIS函数,它调用了__set_PRIMASK(1)__set_PRIMASK(0)。在大多数情况下,使用__disable_irq()__enable_irq()更容易理解和维护,因为它是一个标准函数,而且代码可读性更强。

  • 方式一
#define ENTER_CRITICAL_SECTION( )  ( __disable_irq()) /*禁用全部中断*/      
#define EXIT_CRITICAL_SECTION( )   ( __enable_irq() ) /*开启全部中断*/  
  • 方式二
#define ENTER_CRITICAL_SECTION( )  __set_PRIMASK(1) // 关闭总中断
#define EXIT_CRITICAL_SECTION( )   __set_PRIMASK(0) // 开启总中断

代码实测

由于移植的是modbus从站程序,需要使用modbus poll工具进行测试,首先我们需要配置通信的接口,这里使用的是COM3口,配置图如下。

参考博客

https://www.cnblogs.com/ppqppl/articles/17001861.html
https://www.ixigua.com/6802941313965621773?wid_try=1

相关文章

  • 软件调试总结之FreeModbus移植

    在研发某个电子产品时,由于需要用到FreeModbus协议,所以对FreeModbus协议进行了系统的自我...

  • STM32F103、FreeModbus从站设计(6)-让串口和

    FreeModbus从站设计(6)-让串口和Modbus初始化的参数同步起来 关键词:Modbus FreeMod...

  • RTT-笔记-freeModbus组件

    1 获取组件代码 直接通过env中image.png github下载[https://github.com/ar...

  • 拼包和移植(包括patchrom )

    拼包移植 拼包方法我归纳为:正向移植、逆向移植和混合移植,其中MTK平台多用逆向移植,高通平台多用正向移植,混合移...

  • Android Recovery 支持 Adb

    很早写过Busybox的移植, 觉得方式比较繁琐 Android Recovery 移植 Busybox 新的移植...

  • 移植

    昨天进行试管移植了,心中有些忐忑不安。不知道会是怎样的一种结果。 很早就在群里询问拼针的事,结果还不...

  • 移植

    医院里有个恐怖传说:太平间的尸体会抢夺活人心脏,想借此复活。 传说源自一个女人和丈夫的吵架,女人一气之下夺门而出,...

  • 移植

    “菲利克斯先生,非常感谢您的再次光顾,上次为您定制的双臂和双腿用得还习惯吗?”克莱尔人体工程集团的金牌销售员史密斯...

  • 移植

    在今年的植树节,全体教职工齐动手,共同在校园内种植了七十三棵树。从种植之日起,我心中便有了新的牵挂,每次回到校园,...

  • 移植

    看到好东西,我就喜欢据为己有。 比如,野外这朵花。 我用小铲子连根把她铲起来,移植到了家里。 朋友说,路边的野花不...

网友评论

      本文标题:freeModbus移植

      本文链接:https://www.haomeiwen.com/subject/bpimvdtx.html