搜索
bottom↓
回复: 66

FreeModbus在STM32上移植。

  [复制链接]

出0入0汤圆

发表于 2011-7-3 23:31:21 | 显示全部楼层 |阅读模式
FreeModbus在STM32上移植...1.5的,调试使用的是modscan32,可以响应命令,但是没做返回数据。
使用串口1和TIM2

参考前辈的一些移植范烈,没多少解释,编译通过,但是不能正常接受命令。
我仔细分析了下,FreeModbus使用的定时器和协议上的时序要求不是一样的,区别:
RTU模式:协议上是字符间空闲时间大于1.5个字符时间,则认为该帧不完整;帧之间间隔必须大于3.5个字符时间。
FreeModbus在第一次接收到字符时启动定时器,并从空闲状态转入接收状态,每接收一次字符,判断接收字符的长度大于等于4或3(RTU/ASCII模式最小帧长度)&& CRC校验,如接收到完整的帧,则转入执行模式...其中定时器的作用是在一定时间内,若未接收到完整的帧,超时后转入空闲模式,缓存指针指向0位置;该时间长度为 大于最大帧在指定波特率传输一帧所需要的时间,即为定时器溢出中断时间。定时器不涉及RTU传输协议的时间处理(我之前误解了)。

修改定时器时间后,现在可以接收到modscan32发送的标准指令了,不过没有写返回。
里面可能还有一些错误,需要的参考参考,一起讨论学习吧。。。
点击此处下载 ourdev_654434SOCVNS.rar(文件大小:483K) (原文件名:STM32_MODBUS.rar)

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2011-7-4 00:26:34 | 显示全部楼层
麻烦楼主再介绍一下FreeModbus。百度一下没有什么太详细的介绍。这个的使用环境是什么?哪里用的多一些?

出0入0汤圆

发表于 2011-7-4 00:29:37 | 显示全部楼层
搜了一下modbus,知道了。

出0入0汤圆

 楼主| 发表于 2011-7-4 09:05:05 | 显示全部楼层
资料不多...刚开始学。
MODBUS协议可以参考《从MODBUS到透明协议就绪》这本书,比看英文的容易理解吧,MODBUS常用于工业网络通信,有好几个类型。
FreeModbus 是一个可移植的Modbus软件协议,目前感觉结构还很不错,UC/MODBUS 网上也有,好像源码还不全。

出0入0汤圆

发表于 2011-7-4 09:54:18 | 显示全部楼层
先mark下,留着备用

出0入0汤圆

发表于 2011-7-4 10:12:19 | 显示全部楼层
FreeModbus 第一次听说.

出0入0汤圆

发表于 2011-7-4 10:31:09 | 显示全部楼层
第一次听说。mark

出0入0汤圆

发表于 2011-7-4 11:14:00 | 显示全部楼层
第一次听说。mark

出0入0汤圆

发表于 2011-7-4 11:19:40 | 显示全部楼层
需要用到,mark一下。

出0入143汤圆

发表于 2011-7-4 11:29:46 | 显示全部楼层
留记号,后续研究

出0入12汤圆

发表于 2011-7-4 11:32:40 | 显示全部楼层
系统有2个串口,一个做主,一个做从,freemodbus表示鸭梨很大。

出0入0汤圆

发表于 2011-7-4 11:43:29 | 显示全部楼层
freemodbus 只有从. 且只能做一个从.

出0入0汤圆

 楼主| 发表于 2011-7-4 12:45:26 | 显示全部楼层
回复【11楼】lvhaian 安哥
-----------------------------------------------------------------------

安哥,前辈啊,我才刚开始接触...
我现在就是打算用FreeModbus做从机实现一个RTU。
如果要实现主机和一机多从,一般都是自己实现的么?
UC/MODDBUS貌似可以,不过找不到完整的。。
安哥,指点下如何做好MODBUS的开发。。

出0入0汤圆

 楼主| 发表于 2011-7-4 12:47:23 | 显示全部楼层
回复【10楼】waterx3
-----------------------------------------------------------------------

不知,关于MODBUS开发有什么心得...全民教育下...刚开始接触,有点找不着北。

出0入0汤圆

发表于 2011-7-4 12:53:58 | 显示全部楼层
留记号。

出0入12汤圆

发表于 2011-7-4 15:05:39 | 显示全部楼层
回复【11楼】lvhaian  安哥
-----------------------------------------------------------------------

主、从都可以,但是只能有1个。

其实RTThread移植了freemodbus的master,不过有问题还需要自己改改。

出0入0汤圆

发表于 2011-7-21 15:19:55 | 显示全部楼层
最近正在弄这东西。

出0入0汤圆

发表于 2011-7-21 20:42:49 | 显示全部楼层
这个不错,还可以支持Modbus TCP

出0入0汤圆

发表于 2011-7-21 21:04:14 | 显示全部楼层
留着学习

出0入0汤圆

发表于 2011-7-21 21:34:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-21 21:59:31 | 显示全部楼层
回复【3楼】xiaowei061
资料不多...刚开始学。
modbus协议可以参考《从modbus到透明协议就绪》这本书,比看英文的容易理解吧,modbus常用于工业网络通信,有好几个类型。
freemodbus 是一个可移植的modbus软件协议,目前感觉结构还很不错,uc/modbus 网上也有,好像源码还不全。

-----------------------------------------------------------------------

请问这本书哪里有?

出0入0汤圆

发表于 2011-7-21 23:47:32 | 显示全部楼层
freemodbus 官方网站:
http://www.freemodbus.org/index.php?lang=cn

官方公布移植freemodbus的芯片与系统:
- Ports ASCII/RTU
  - FreeRTOS/STR71X
  - AVR ATMega8/16/32/128/168/169
  - Freescale MCF5235
  - TI MSP430
  - LPC214X
  - Z8 Encore!/Z8F6422
  - Win32
  - Linux/Cygwin
  - FreeRTOS/AT91SAM7X
  - HCS08
- Ports TCP
  - Win32
  - lwIP/MCF5235
  - lwIP/STR71X



(原文件名:ArchInternalDependencies-DirectoryStructure.jpg)
文件夹结构图

出0入0汤圆

发表于 2011-7-22 10:30:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-22 11:25:23 | 显示全部楼层
标记一下,以后会用到的,谢谢

出0入0汤圆

 楼主| 发表于 2011-7-26 09:18:03 | 显示全部楼层
回复【23楼】phil
-----------------------------------------------------------------------
这篇帖子有错误,定时器时间处理那段。。。别看了。。。

出0入0汤圆

发表于 2011-8-8 15:46:15 | 显示全部楼层
回复【24楼】xiaowei061
回复【23楼】phil  
-----------------------------------------------------------------------
这篇帖子有错误,定时器时间处理那段。。。别看了。。。
-----------------------------------------------------------------------

啥错误哦?能指明下吗?

出0入0汤圆

发表于 2011-8-9 21:22:16 | 显示全部楼层
回复【25楼】niba
-----------------------------------------------------------------------

modbus 通讯接收的3.5字符接收时间,FreeModbus底层接口的定时器配置,我理解错了...够明了了吧。。。一般看一下就知道我说的错在哪里,之前对FreeMOdbus的理解是正确的。

出0入0汤圆

发表于 2011-8-10 13:11:29 | 显示全部楼层
好东西

出0入0汤圆

发表于 2011-8-14 14:45:52 | 显示全部楼层
谢谢,准备做MODBus,还不知道如何下手

出0入0汤圆

发表于 2011-8-17 22:05:07 | 显示全部楼层
一直想研究一下这个协议的

出0入0汤圆

发表于 2011-9-28 09:39:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-15 16:45:36 | 显示全部楼层
MARK

出0入0汤圆

发表于 2012-2-16 10:12:58 | 显示全部楼层
marek

出0入0汤圆

发表于 2012-3-1 17:23:36 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2012-3-1 21:17:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-3-1 21:42:31 | 显示全部楼层
很好,很好的资料!

出0入0汤圆

发表于 2012-4-4 15:15:42 | 显示全部楼层
modbus  记号

出0入0汤圆

发表于 2012-4-17 10:22:21 | 显示全部楼层
刚开始搞MODBUS, 试了UCMODBUS,发现文件不太完整。freemodbus还不错,自由软件!

出0入0汤圆

发表于 2012-8-16 17:35:15 | 显示全部楼层
非常不错

出0入0汤圆

发表于 2012-10-5 09:23:29 | 显示全部楼层
MARK,收藏了!

出0入0汤圆

发表于 2012-12-21 13:16:24 | 显示全部楼层
mark下 正在做pic rtu这块

出0入0汤圆

发表于 2012-12-21 13:36:09 | 显示全部楼层
lvhaian 发表于 2011-7-4 11:43
freemodbus 只有从. 且只能做一个从.

只能做一个从。
也有主,不过不Free

出0入0汤圆

发表于 2013-2-27 17:45:26 | 显示全部楼层
支持,最近要开始做变频器的Modbus 了,看起来还是有点麻烦的

出0入0汤圆

发表于 2013-3-22 14:39:29 | 显示全部楼层
此贴不能沉的

出0入0汤圆

发表于 2013-3-30 01:21:16 来自手机 | 显示全部楼层
收下了。
来自:amoBBS 阿莫电子论坛 Windows Phone 7 客户端

出0入0汤圆

发表于 2013-6-13 22:27:16 | 显示全部楼层
留记号,后续研究。

出0入0汤圆

发表于 2013-6-14 09:43:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2013-6-19 22:54:48 | 显示全部楼层
谢谢分享  开始做这方面东西

出0入0汤圆

发表于 2013-8-13 15:25:28 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2013-8-14 13:14:50 | 显示全部楼层
flyunlimit 发表于 2011-7-4 00:26
麻烦楼主再介绍一下FreeModbus。百度一下没有什么太详细的介绍。这个的使用环境是什么?哪里用的多一些? ...

带有RS485通信接口的设备上基本都是用modbus-rtu,freemodbus是一个modbus协议的协议栈,
让开发者可以在很短的时间内就可以实现modbus,而且稳定可靠。

出0入0汤圆

发表于 2013-12-30 16:33:44 | 显示全部楼层
楼主可以介绍下Freemodbus的工作工程么?移植了个例程,也通讯成功了,总感觉云里雾里的,还望多多指点啊

出0入0汤圆

发表于 2014-5-27 14:55:24 | 显示全部楼层
MARK一下

出0入0汤圆

发表于 2014-10-9 13:44:32 | 显示全部楼层
freemodbus 很实用还没有lz理解的那么深

出0入0汤圆

发表于 2014-10-24 16:52:29 | 显示全部楼层
标记,FreeModbus在STM32上移植

出0入0汤圆

发表于 2014-10-24 17:10:55 | 显示全部楼层
FreeModbus的思路还是不错的,项目上仿照FreeModbus写过,Modbus的主机程序还是要跑个OS好用点

出0入0汤圆

发表于 2014-12-12 14:17:51 | 显示全部楼层
非常感谢,参考学习了
最近需要移植
用起来简单
但是把所有执行步骤理清楚
还是需要花一些时间的

出0入0汤圆

发表于 2014-12-12 15:56:30 | 显示全部楼层
这个应该不错

出0入0汤圆

发表于 2015-3-2 15:18:16 | 显示全部楼层
看看freemodbus

出0入0汤圆

发表于 2015-11-30 16:34:05 | 显示全部楼层
非常感谢分享

出0入0汤圆

发表于 2016-2-25 22:31:48 | 显示全部楼层

mark下 谢谢分享

出0入0汤圆

发表于 2016-2-28 16:33:11 | 显示全部楼层
非常好,感谢LZ

出0入0汤圆

发表于 2016-3-10 16:54:01 | 显示全部楼层
可以参考,但介绍的不详细

出0入0汤圆

发表于 2016-3-21 15:32:26 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

发表于 2016-3-21 16:27:45 | 显示全部楼层
FreeModbus移植只要修改好PORT文件就好了,主要是定时器和串口操作,不过FreeModbus是基于事件触发来处理的,带OS移植就非常方便,不带的可以在LOOP里面处理。

出0入0汤圆

发表于 2016-3-22 10:18:01 | 显示全部楼层
MODBUS工业总线,很常用,关注学习

出0入8汤圆

发表于 2016-3-25 14:06:34 来自手机 | 显示全部楼层
我前几天也移植成功了,stm32F103上。接下来想移植到stc15里面去

出0入0汤圆

发表于 2016-6-12 21:54:18 | 显示全部楼层
最近也在看MODBUS,不知FreeModbus支持主机否?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-6 10:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表