1、认识

modbus协议在工程应用领域非常广泛,本质上通过UART串口让主机和从机之间进行通信,modbus移植需要的知识涉及到:串口电路(485或者232),UART驱动,modbus协议

UART串口搞过单片机的应该都熟悉

485电路或者232电路网上有好多,主要注意抗干扰或者隔离问题

modbus协议网上也有很多教程

2、准备

1)硬件上485或者232电路测试好

2)软件上modbus协议栈,可以从官网直接下载,裸机版本

3、移植

1)直接把裸机modbus代码集成到自己工程中,编译不要出错

2)配置好两个重要驱动:1)uart串口;2)串口定时器

uart口用来发送和接收数据,串口定时器用来确认modbus帧与帧报文之间的时间间隔

3)调用初始化函数和轮询函数

4、调试

这部分比较重要,上面步骤一般大家都会按照流程执行,而调试部分比较复杂,每个人碰到的问题都不一样,我列举一下我当时调试碰到你的问题

1)UART可以接收数据,但是modbus协议栈接收不到完整一帧报文

2)主机通信卡住

3)一帧报文可以正常接收,但是无法发出完整一帧数据

4)硬件电路上拉和下拉问题

这里可以用modbus-poll工具去调试,重点设置好串口定时器,串口接收中断使能,串口发送使能,理解好modbus地址如何在代码中体现

modbus移植到S32K146的更多相关文章

  1. MODBUS移植的参考文章

    https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32 http://www.360doc.com/content/14/0906/09 ...

  2. FreeModbus 移植于STM32 实现Modbus RTU通信

    http://ntn314.blog.163.com/blog/static/161743584201233084434579/ 毕业设计自己要做个基于STM32的PLC能直接跑语句表的,现在看来好像 ...

  3. stm32--free modbus 1.5.0移植(作为从机)

    添加文件 获取原始free modbus library(官网) 将...\freemodbus-v1.5.0\demo\BARE中的所有文件复制到...\freemodbus-v1.5.0\modb ...

  4. 基于STM32和W5500的Modbus TCP通讯

    在最近的一个项目中需要实现Modbus TCP通讯,而选用的硬件平台则是STM32F103和W5500,软件平台则选用IAR EWAR6.4来实现. 1.移植千的准备工作 为了实现Modbus TCP ...

  5. FreeModbus for stm32(Keil工程)——精简Modbus slave协议【worlsing笔记】

    FreeModbus For stm32:点击下载源码 1.测试环境Keil MDK 4.7a  stm32f103c8, PB12为输出线圈,    可以通过Modbus Poll来控制线圈的输出状 ...

  6. FreeModbus 精简版本(Only RTU) for M128 (Modbus Slave)

    1.硬件连接: M128 PD3 INT3/TXD1  ---> PC 232COM Pin 2 PD2 INT2/RXD1  ---> PC 232COM Pin 3 GND       ...

  7. 移植FreeModbus+ModbusMaster+STM32至RT-Thread(3、4阶段)

    一.简介及进展 经过一个多月的努力,目前项目开发已进入最后阶段.虽然比预期时间有些延迟,但也收获不少,边工作边开源的效率确实还有待提高. 简单说下目前的进展吧 1.目前项目已经在Github中开源,大 ...

  8. C# MODBUS协议 上位机(转)

    源:C# MODBUS协议 上位机 C#写了一款上位机监控软件,基于MODBUS_RTU协议. 软件的基本结构: 采用定时器(Timer控件)为时间片. 串口采用serialPort1_DataRec ...

  9. Modbus软件开发实战指南 之 开发自己的Modbus Poll工具 - 2

    接上一篇文章的内容. 看了前面需求提到的复杂的命令行解析功能,很多人立马开始发怵,其实大可不必. 我们都知道,Linux下的程序往往都提供了复杂的命令行参数处理机制,因为这是与 其他程序或用户进行交互 ...

  10. 【HAL库每天一例】freemodbus移植

    例程下载:资料包括程序.相关说明资料以及软件使用截图 百度云盘:https://pan.baidu.com/s/1slN8rIt 密码:u6m1 360云盘:https://yunpan.cn/OcP ...

随机推荐

  1. 详解Git中的.gitignore文件

    1.什么是.gitignore文件?有什么作用? 在Git中,有一种特殊的文件,其文件全名就是 .gitignore,这个文件可以用txt打开,主要功能是屏蔽某些文件,使得这些文件不被追踪(track ...

  2. 解决VMware虚拟机安装centos无法联网问题

    网上的教程几乎试了个遍,最后使用该方法成功解决. 用终端进入目录:/etc/sysconfig/network-scripts 执行ls命令查看以"ifcfg-en"开头的文件,例 ...

  3. stable diffusion论文解读

    High-Resolution Image Synthesis with Latent Diffusion Models 论文背景 LDM是Stable Diffusion模型的奠基性论文 于2022 ...

  4. 高德API获取省市区---python3实现

    # -*- coding: utf-8 -*- """ Created on Thu Nov 4 15:40:25 2021 @author: 何双新 "&qu ...

  5. 「Log」2023.8.21 小记

    序幕 七点到校,管理整理博客. 然后开始写博客,SAM 的. 学长开始讲题,2-SAT,还算好理解,写完博客过了下板子题. \(\color{royalblue}{P4782\ [模板]2-SAT 问 ...

  6. AI大模型应用开发-用LangChain构建PAL应用:SQL的生成与执行

    PAL(Program-Aided Language models) 思想成为大模型 Agent 领域的重要范式.核心思路是 LLM 只负责语言任务,复杂的逻辑/计算交由程序执行. 通过合理设计 pr ...

  7. Vertx 实现webapi实战项目(三)

      实现消息分发和handler分配:上传json根据mId字段不同提供不同的解析器,然后将消息分发到不同的handler中. 一:消息分发 1:建立消息解析.新建接口IMessageRecogniz ...

  8. 禁止后退Js 兼容各个浏览器

    <script src="${ctxPath}/media/lib/jquery.history.js"></script> <script> ...

  9. MySQL核心知识学习之路(5)

    作为一个后端工程师,想必没有人没用过数据库,跟我一起复习一下MySQL吧,本文是我学习<MySQL实战45讲>的总结笔记的第五篇,总结了MySQL索引相关的实践使用问题. 上一篇:MySQ ...

  10. SQL Server 中的检查账号是否被锁定-用户登陆失败的原因与解决方案

    在使用 SQL Server 数据库时,用户可能会遇到"用户登陆失败"的问题.这种问题不仅会影响数据库的使用,也可能导致应用程序的中断.因此,了解这一问题的原因及其解决方案至关重要 ...