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.修改数据库结构,保存配置 ...
随机推荐
- N-Queens leetcode java
题目: The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two que ...
- Java IO3:字符流
字符流 字节流提供了处理任何类型输入/输出操作的功能(对于计算机而言,一切都是0 和1,只需把数据以字节形式表示就够了),但它们不可以直接操作Unicode字符,一个Unicode字符占用2个字节,而 ...
- centos安装异常解决方法
VMware系统安装Centos7后,第一次启动出现以下异常信息: Initial setup of CentOS Linux (core) ) [x] Creat user ) [!] Licens ...
- 简单的ftpserver设置
一.安装: yum install vsftpd* 二. 修改配置文档如下: vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO chroot_list_en ...
- ARMv7 .n和.w指令宽度指示符后缀
Thumb code里,.n后缀强迫生成16bit的代码,即Thumb code,若是在arm code里用.n会报错,若是机器指令没有办法用16表示也会报错 Thumb code里,.w后缀强迫生成 ...
- 1126. Magnetic Storms(单调队列)
1126 最简单的单调队列应用吧 单调队列是指在一个队列中各个元素单调 递增(或者递减),并且各个元素的下标单调 递增. 单调队列的大体操作 进队时,将进队的元素为e,从队尾往前扫描,直到找到一个不大 ...
- URAL1501. Sense of Beauty(记忆化)
链接 dfs+记忆化 对于当前状态虽然满足和差 但如果搜下去没有满足的情况也是不可以的 所以需要记忆化下 #include <iostream> #include<cstdio> ...
- 转: Linux 技巧:让进程在后台可靠运行的几种方法
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...
- UEFI GPT
其实关于UEFI的几篇文章很早就写下了,只是自己读了一遍感觉很不满意,就决定重写.目的是想用最简单直白的语言把内容写出来,让每个人都能轻松读懂.当然,如果你已经对这些内容有了很深的理解的话,这篇文章除 ...
- 剑指Offer:从第一个字符串中删除第二个字符串中出现过的所有字符
// 从第一个字符串中删除第二个字符串中出现过的所有字符 #include <stdio.h> char* remove_second_from_first( char *first, c ...