• 移植Modbus TCP一


    熟悉Modbus RTU的各位猿友应该对Modbus TCP多多少少有些了解,我们在公众号里也多次介绍过,移植Modbus TCP,首先我们要移植一个TCP协议栈将Mobdus数据在上面传输,而Lwip是著名的开源TCP/IP网络协议栈,可以移植到微控制器上,可以裸机,也可以支持操作系统,已经被移植到很多的产品上,所以我们就选择lwip,,然后按照Modbus TCP标准添加Modbus协议栈就可以了,今天我们先来看看lwip如何移植到STM32H743xxx上,我们使用在freeRTOS下移植lwip,利用ST的固件库。

    首先下载H7系列的包,并解压

    可以看到ST的SDK里面对lwip有很多的例程,有带RTOS的有不带的,我们以LwIP_UDPTCP_Echo_Server_Netconn_RTOS 为例来移植,这个工程是基于freeRTOS的,打开这个工程

    确定编译无误后,就可以动手移植了,首先要根据硬件原理图修改初始化部分,包括时钟,管脚,如果你的板子跟这个参考板很接近的话,那么移植起来很简单,看到原理图跟网络相关的硬件接口,可以对应到MCU侧。修改相应管脚初始化

    除了修改管脚初始化外,网络的中断优先级根据项目需要可做修改,除过修改代码的同时将注释也一并修改,养成良好的习惯,当然这些硬件上初始化的更改也可以通过ST的配置工具CubeMX直接更改重新生成工程然后编译。

    根据自己的实际更改IP地址,可以支持DHCP,或者静态IP地址。

    我这里使用电脑和板子直接连接,使用默认IP地址,然后将电脑和板子的IP地址设到同一个网段。编译无误后,下载到板子,将电脑和板子连接起来,或者连入路由器,我这里采用直联,并将电脑设为192.168.0.15,打开网络调试助手,或者其他支持TCP的工具都可以

    选择 TCP 客户端,输入板子IP地址 192.168.0.10 端口号7, 注意我们在下节移植modbus的时候,端口号要更改为Mdobus专用的。这里测试可以不用改。输入 1 2 3 4 5 6 7 8 9发送,可以看到板子收到后发回来的收据。

    好了,下次我们会基于这个工程添加Modbus TCP协议栈。

  • 相关阅读:
    Qt(python) + 百度语音合成 实现demo
    windows7 + Qt(MSVC2017) + VS2019安装配置
    ubuntu下openCV-Haar特征分类器训练
    坚果云+typora(个人十分喜欢的一个记笔记方式)
    文本编辑--程序员专属技能
    ftp、tftp、nfs--服务器搭建
    QT--动态人流量监测系统
    C++ --内存四区概述
    CTFHUB-技能树-Web-信息泄露
    网络教育行业频发奖金高薪挖人,在线教育行业将迎来快速发展
  • 原文地址:https://www.cnblogs.com/laoxiongzhijia/p/14687824.html
Copyright © 2020-2023  润新知