历史上的今天
今天是:2024年12月10日(星期二)
2019年12月10日 | FreeModbus 精简版本(Only RTU) for M128 (Modbus Slave)
2019-12-10 来源:eefocus
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 )//读写多个寄存器
史海拾趣
|
电源装置是电力电子技术应用的一个重要领域,其中高频开关式直流稳压电源由于具有效率高、体积小、重量轻等突出优点,而得到了广泛应用。本文详细介绍一种电流控制型开关电源,以低成本的UC3842 PWM 控制芯片为核心构成的多路输出的开关电源设计电 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:35 编辑 请教各位: 电烙铁使用一段时间之后,电烙铁头的温度就达不到要求的温度. 请问这是什么原因?那应该如何保养呢? … 查看全部问答> |
|
wince6.0 流驱动无法加载,getLastError = 55,怎么办? 问题如下: 我是接手别人的活,流驱动开发人员已走,据他说驱动是可以用的,流驱动是在wince4.2下编译成的dll。 我现在用wince6.0 、C#开发。修改bib、reg文件,编译内核,用veiwbin查看,我需要的dll已包含在nk.bin内。 但我测试 ...… 查看全部问答> |
|
添加Display驱动,修改后编译没有错,最后也可以生成镜像,但是下到板子里去后没有显示,我做的移植是最小内核,加过一个测试进程,内核可以跑起来,看过一个高人{wogoyixikexie@gliet(注意转载请标明原创作者)}的移植笔记,在此引用下: 但是打 ...… 查看全部问答> |
|
刚刚开始学习VxWorks,看文档的时候有个问题一直有些迷惑。 文档上面说VxWorks既定义了VxWorks接口,你也可以使用VxWorks的POSIX扩展。 (You can also use POSIX real-time extensions with VxWorks.) 我搞不太懂,这是什么意思?比如说我要新 ...… 查看全部问答> |
|
EP3C80 : BGA封装, 484 PIN , 内核电压1.2V , PLL电源2.5V, IO 电源3.3V; EP3C80 为主CPU, EP3C80同时外挂ARM7 和DSP . EP3C80 分别以异步总线的方式与ARM7 和DSP连接. 这样一个架构的主板,居然出现一个问题,ARM7 和DSP工作不正 ...… 查看全部问答> |




