FreeModbus 精简版本(Only RTU) for M128 (Modbus Slave)
1、硬件连接:
M128
PD3 INT3/TXD1 ---> PC 232COM Pin 2
PD2 INT2/RXD1 ---> PC 232COM Pin 3
GND ---> PC 232COM Pin 5
2、Modbus Poll软件配置:
软件下载地址:http://www.cnblogs.com/worldsing/p/3231855.html
9600 8 N 1 与 Modbus Poll连接地址为1 , M128时钟为8M
3、状态:
通信过程中PA7 LED闪烁
4、代码信息:只留RTU模式 优化代码
ModbusUser.c 用记功能代码
ModbusFun.c 整合FreeModbus的功能c代码文件;
ModbusRTU.c Modbus的RTU模式桢处理,整理FreeModbus去除ASCII模式;
ModbusPort.c 关于硬件的移植包括串口、定时器、桢队列功能实现(目前是单桢处理);
(此文件是ATMEGA128硬件的代码,其它CPU需要自己移植)
FreeModBus会功能打开时IAR 5.40环境下 代码尺寸为:
5 287 bytes of CODE memory (+ 12 range fill )
941 bytes of DATA memory (+ 14 absolute )
#define MB_FUNC_HANDLERS_MAX ( 16 )//使用的功能码数量
#define MB_FUNC_OTHER_REP_SLAVEID_BUF ( 8 )
#define MB_FUNC_OTHER_REP_SLAVEID_ENABLED ( 1 ) //报告从设备功能
#define MB_FUNC_READ_INPUT_ENABLED ( 1 ) //读输入寄存器功能
#define MB_FUNC_READ_HOLDING_ENABLED ( 1 ) //读保持寄存器功能
#define MB_FUNC_WRITE_HOLDING_ENABLED ( 1 ) //写操持寄存存功能
#define MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED ( 1 )//写多个操持寄存存功能
#define MB_FUNC_READ_COILS_ENABLED ( 1 )//读线圈
#define MB_FUNC_WRITE_COIL_ENABLED ( 1 )//写线圈
#define MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED ( 1 )//写多个线圈
#define MB_FUNC_READ_DISCRETE_INPUTS_ENABLED ( 1 )//读离散输入
#define MB_FUNC_READWRITE_HOLDING_ENABLED ( 1 )//读写多个寄存器
代码下载:http://pan.baidu.com/share/link?shareid=3612729954&uk=2483252218
FreeModbus 精简版本(Only RTU) for M128 (Modbus Slave)的更多相关文章
- 我的Modbus Slave/Client开发历程(Rtu/AscII/Tcp)
我的Modbus Slave/Client开发历程(Rtu/AscII/Tcp) 分类: [自动化]2007-07-19 10:04 34038人阅读 评论(38) 收藏 举报 vb嵌入式dostcp ...
- Modbus教程| Modbus协议,ASCII和RTU帧,Modbus工作
转载自:https://www.rfwireless-world.com/Tutorials/Modbus-Protocol-tutorial.html 这个Modbus教程涵盖了modbus协议基础 ...
- Modbus测试工具ModbusPoll与Modbus Slave使用方法
感谢https://blog.csdn.net/byxdaz/article/details/77979114原创,由于CSDN经常调整,故再编辑收藏,并修改了部分BUG. 一.介绍 Modbus P ...
- Modbus仿真器 Modbus Poll 和Modbus Slave详细图文教程
Modbus Poll 是Witte Software公司开发的的Modbus主机仿真器,用于测试和调试Modbus从设备.软件支持ModbusRTU.ASCII.TCP/IP协议.支持多设备监控,可 ...
- Modbus测试工具 :Modbus Poll,Modbus Slave
源:http://blog.sina.com.cn/s/blog_49352090010138e7.html Modbus测试工具 :Modbus Poll,Modbus Slave
- FreeModbus for stm32(Keil工程)——精简Modbus slave协议【worlsing笔记】
FreeModbus For stm32:点击下载源码 1.测试环境Keil MDK 4.7a stm32f103c8, PB12为输出线圈, 可以通过Modbus Poll来控制线圈的输出状 ...
- FreeModbus Slave RTU 精简版源代码【worldsing 笔记】
RTU精简版本 测试环境:IAR for avr 5.40 + M128 目前只优化了ModBusPort.c和ModBusRTU.c ModBusPort.c 566 bytes of CO ...
- FreeModbus RTU slave & Modbus RTU master
一.FreeModbus RTU 协议数据格式 FreeModbus RTU是开源的一个协议,并且使用FreeModbus RTU 只能当做从机Slave,RTU协议中的指令由地址码(一个字节),功能 ...
- 《ServerSuperIO Designer IDE使用教程》-3.Modbus协议,读取多个寄存器,实现多种数据类型解析。发布:v4.2.2版本
更新内容,v4.2.2版本:1.增加Modbus协议读取多个寄存器,并且按多种数据类型解析数据.2.Modbus Serial和Modbus TCP两个驱动合并成一个驱动.3.修改数据库结构,保存配置 ...
随机推荐
- 【mysql的设计与优化专题(2)】数据中设计中的范式与反范式
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小.但是有些时候一昧的追求范式减少冗余,反而会降低数据读写 ...
- Linux如何在虚拟机中挂载iso yum源
首先,将作为源的iso的挂载到系统上. 代码如下: mount -o loop /dev/cdrom /mnt/iso/ 或者 mount -o loop /xxx/xxx.iso /mnt/iso/ ...
- Android:控件布局(单帧布局)FrameLayout
FrameLayout:所有控件位于左上角,并且直接覆盖前面的子元素. 在最上方显示的层加上: android:clickable="true" 可以避免点击上层触发底层. 实例: ...
- MyBatis的CRUD操作
MyBatis的两个主要配置文件 mytatis.xml:放在src目录下,常见的配置如下 <?xml version="1.0" encoding="UTF-8& ...
- Android 使用split函数进行多个空格分割
在项目中经常会遇到按字符分割字符串的情况,可以使用String对象的split函数进行分割. 先看实际情况: String str = "关键词1 关键词2 关键词3"; Stri ...
- 生成整数自增ID(集群主键生成服务)
在集群的环境中,有这种场景 需要整数自增ID,这个整数要求一直自增,并且需要保证唯一性. Web服务器集群调用这个整数生成服务,然后根据各种规则,插入指定的数据库. 一般 ...
- 安装Hadoop系列 — 导入Hadoop源码项目
将Hadoop源码导入Eclipse有个最大好处就是通过 "ctrl + shift + r" 可以快速打开Hadoop源码文件. 第一步:在Eclipse新建一个Java项目,h ...
- 【原创】基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结(二)
承接上文http://www.cnblogs.com/bombe1013/p/3294301.html,我们接下来说说Qt的移植与安装. 很喜欢Qt这个库以及Qt creater这个IDE,其实个人觉 ...
- 1671. Anansi's Cobweb(并查集)
1671 并查集 对于询问删除边之后的连通块 可以倒着加边 最后再倒序输出 #include <iostream> #include<cstdio> #include<c ...
- POJ2528 线段树的区间操作
首先应该对该[0,10000000]进行离散化 即先将点集进行排序,然后从小到大缩小其中的间距,使得最后点数不会超过2*n 然后就是线段树操作 只需进行染色,然后最后用nlgn进行一个个查询颜色记录即 ...