资源简介
完整的Modbus资料,看过从初学到应用。
代码片段和文件信息
/*
* Copyright © 2010-2011 Stéphane Raimbault
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not write to the Free Software
* Foundation Inc. 51 Franklin Street Fifth Floor Boston MA 02110-1301 USA
*/
#include
#ifndef _MSC_VER
#include
#else
#include “stdint.h“
#endif
#include
#include
/* Sets many bits from a single byte value (all 8 bits of the byte value are
set) */
void modbus_set_bits_from_byte(uint8_t *dest int index const uint8_t value)
{
int i;
for (i=0; i<8; i++) {
dest[index+i] = (value & (1 << i)) ? 1 : 0;
}
}
/* Sets many bits from a table of bytes (only the bits between index and
index + nb_bits are set) */
void modbus_set_bits_from_bytes(uint8_t *dest int index unsigned int nb_bits
const uint8_t *tab_byte)
{
int i;
int shift = 0;
for (i = index; i < index + nb_bits; i++) {
dest[i] = tab_byte[(i - index) / 8] & (1 << shift) ? 1 : 0;
/* gcc doesn‘t like: shift = (++shift) % 8; */
shift++;
shift %= 8;
}
}
/* Gets the byte value from many bits.
To obtain a full byte set nb_bits to 8. */
uint8_t modbus_get_byte_from_bits(const uint8_t *src int index
unsigned int nb_bits)
{
int i;
uint8_t value = 0;
if (nb_bits > 8) {
/* Assert is ignored if NDEBUG is set */
assert(nb_bits < 8);
nb_bits = 8;
}
for (i=0; i < nb_bits; i++) {
value |= (src[index+i] << i);
}
return value;
}
/* Get a float from 4 bytes in Modbus format */
float modbus_get_float(const uint16_t *src)
{
float f = 0.0f;
uint32_t i;
i = (((uint32_t)src[1]) << 16) + src[0];
memcpy(&f &i sizeof(float));
return f;
}
/* Set a float to 4 bytes in Modbus format */
void modbus_set_float(float f uint16_t *dest)
{
uint32_t i = 0;
memcpy(&i &f sizeof(uint32_t));
dest[0] = (uint16_t)i;
dest[1] = (uint16_t)(i >> 16);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 168319 2005-11-29 11:19 Modbus详解\第一章:控制设备通信慨况.pdf
文件 764121 2005-11-29 11:22 Modbus详解\第三章:以C++Builder设计 Modbus通信程序.pdf
文件 381293 2005-11-29 11:21 Modbus详解\第二章:Modbus 通信协议说明.pdf
文件 399974 2005-11-29 11:22 Modbus详解\第五章:Modbus通信最新发展.pdf
文件 222073 2005-11-29 11:20 Modbus详解\第六章:使用Modbus注意要项.pdf
文件 1195222 2005-11-29 11:37 Modbus详解\第四章:以PC ba
文件 2181 2012-01-17 05:39 libmodbus-3.0.3源码库\acinclude.m4
文件 35712 2012-05-26 07:14 libmodbus-3.0.3源码库\aclocal.m4
文件 124 2011-09-10 04:29 libmodbus-3.0.3源码库\AUTHORS
文件 44941 2012-05-26 07:14 libmodbus-3.0.3源码库\config.guess
文件 4374 2012-05-26 07:14 libmodbus-3.0.3源码库\config.h.in
文件 34423 2012-05-26 07:14 libmodbus-3.0.3源码库\config.sub
文件 577475 2012-05-26 07:14 libmodbus-3.0.3源码库\configure
文件 3903 2012-05-26 07:06 libmodbus-3.0.3源码库\configure.ac
文件 35147 2010-10-15 21:37 libmodbus-3.0.3源码库\COPYING
文件 26530 2011-09-10 04:29 libmodbus-3.0.3源码库\COPYING.LESSER
文件 18615 2012-05-26 07:14 libmodbus-3.0.3源码库\depcomp
文件 1232 2011-09-10 04:29 libmodbus-3.0.3源码库\doc\asciidoc.conf
文件 9593 2012-05-26 07:19 libmodbus-3.0.3源码库\doc\libmodbus.7
文件 19795 2012-05-26 07:19 libmodbus-3.0.3源码库\doc\libmodbus.html
文件 7743 2012-05-20 05:54 libmodbus-3.0.3源码库\doc\libmodbus.txt
文件 2213 2012-05-20 05:54 libmodbus-3.0.3源码库\doc\Makefile.am
文件 18251 2012-05-26 07:14 libmodbus-3.0.3源码库\doc\Makefile.in
文件 2158 2012-05-26 07:18 libmodbus-3.0.3源码库\doc\modbus_close.3
文件 10842 2012-05-26 07:18 libmodbus-3.0.3源码库\doc\modbus_close.html
文件 792 2011-09-10 04:29 libmodbus-3.0.3源码库\doc\modbus_close.txt
文件 2349 2012-05-26 07:18 libmodbus-3.0.3源码库\doc\modbus_connect.3
文件 10734 2012-05-26 07:18 libmodbus-3.0.3源码库\doc\modbus_connect.html
文件 981 2011-09-10 04:29 libmodbus-3.0.3源码库\doc\modbus_connect.txt
文件 1956 2012-05-26 07:19 libmodbus-3.0.3源码库\doc\modbus_flush.3
............此处省略190个文件信息
- 上一篇:emWin5中文手册
- 下一篇:中华图书人操作手册3.0.doc
相关资源
- labview modbus tcp通讯llb文件
- Modbus TCP Server Tester
- modbus_poll和modbus_slave_64bit.rar
- 用KEIL编写的MODBUS_RTU从站程序STM32
- VC MODBUS协议上位机程序
- MODBUS通讯协议中文版.pdf
- nmodbus源代码
- modbus测试工具主站,从站
- MODBUS TCP/RTU调试工具,附主子站模拟器
- MODBUS协议中文完整版+资料
- stm32f103 modbus主站工程
- ABB REF542 modbus 培训资料.pdf
- LabVIEW modbus 库 lib
- 西门子300 PLC MODBUS TCP通讯 程序
- Modbus TCP/RTU 服务端、客户端源码、协
- Modbus Slave破解版
- modbus一个测试客户端与服务端及一个
- 内建MODBUS网关功能的串口服务器及M
- modbus协议调试工具 支持TCP和串口
- twincat modbus rtu lib
- modbus tcp 中文协议
- delphi-modbus控件
- S7-1500ModbusTCP通信_内带PortalV15程序
- STM32F103ZET6_FreeModbus移植
- QtModbus通信源码可供初学者参考
- modbus主机源码.rar
- 用VC2010编写的基于TCPIP的Modbus网络通讯
- Modbus 标准
- ModbusPoll最新版7.1.0
- 台达PLC与电脑 Modbus rtu通讯 上位机软
评论
共有 条评论