易截截图软件、单文件、免安装、纯绿色、仅160KB

CentOS5.4 Linux下Modbus TCP IP协议C++的一个小例子

///////////////////////////////////////////////////////////////////////////
/*
ReadCoils函数:
读继电器的状态 , 成功返回ture。
send 数据长度=12
recv 数据长度=10
unsigned short int addr 读继电器的起始地址(继电器编号-1) 。
注意:1~8个继电器,起始地址从0开始
unsigned short int len 读取继电器的个数,最大8.
debug_state 如果为1 打印出调式信息
ubool *paraDO 读出的继电器状态
SOCKET s_bnc,fd_set fds,timeval tv 是辅助的网络接口参数
*/
///////////////////////////////////////////////////////////////////////////
inline bool ReadCoils(unsigned short int addr, byte & coilstate, SOCKET_INT s_bnc)
{
cmd_len = 12;
byte cmd_code = 1; //命令代码:01,读继电器
byte *cmd_string ;
byte *echo_string ;
cmd_string = new byte[cmd_len] ;
echo_string = new byte[cmd_len] ;
cmd_string[ 0] = 0 ; // modbus 协议规定标示
cmd_string[ 1] = 0 ;
cmd_string[ 2] = 0 ;
cmd_string[ 3] = 0 ;
cmd_string[ 4] = 0 ; // length 高位部分 命令的后续字节数量
cmd_string[ 5] = 6 ; // length 低位部分 命令的后续字节数量
cmd_string[ 6] = 0 ; // Unit Identifier :identification of a remote slave connected on a serial line or on other buses.
cmd_string[ 7] = cmd_code ;
cmd_string[ 8] = (unsigned char) (addr >> 8);
cmd_string[ 9] = (unsigned char) addr;
cmd_string[10] = 0; //(unsigned char) (len >> 8);
cmd_string[11] = 8; //(unsigned char) len ;
int iret;
fd_set fds;
struct timeval tv;
tv.tv_sec = SLEEP ; //超时等待时
tv.tv_usec = 0;
FD_ZERO(&fds);
FD_SET(s_bnc, &fds);
/* wait for permission to send(等待是否可写write)*/
iret = select(s_bnc +1, NULL, &fds, NULL, &tv); /*write*/
if (iret=0)
{
if(debug_state) printf("Timer over!n");
close(s_bnc);
return false ;
}
else if (iret<0)
{
if(debug_state) printf("select is err! n");
close(s_bnc);
return false ;
}
/*send 写入数据 */
iret = send(s_bnc, (char *)cmd_string, cmd_len , 0);
if


相关文档:

深入学习嵌入式linux知识要点

一.linux理论知识 
1.计算机基本理论;2.CPU体系结构;3.内存管理;4.文件系统;5.进程调度;6.Linux常用操作。
二.linux驱动知识
1.i2c驱动添加使用                 2.spi驱动添加和读写     &n ......

linux od 命令使用

od (octal dump)和 xd(hexdump)命令可以以十进制、八进制、十六进制和ASCII码来显示文件或者流,它们对于访问或可视地检查文件中不能直接显示在终端上的字符很有用。
        语法:od [选项] 文件… 
命令中各选项的含义:
- A 指定地址基数,包括:
d 十进制
o 八 ......

linux下scp的使用


不同的Linux之间copy文件常用有3种方法
,第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。第二种方法就是采用samba服务,类似Windows
文件copy的方式来操作,比较简洁方便,第三种就是利用scp命令来进行文件复制。
scp是有Security的文件copy,基于ssh登录 ......

Linux中文件夹的解读

[/b][url]http://blog.chinaunix.net/u3/95713/showart_1931142.html[/url]
Linux根据版本的不同, 文件的组织结构当然会有所差别,但主要的文件夹应该是一样的,了解这些文件夹的含义,对于了解Linux有着重要的意义.

1, /  Linux文件系统的入口,也是处于最高一级的目录;
2, /bin 系统所需要的那些命令位于此 ......

LINUX 0.11 分析集锦

    1.bootsect.s       
               本文的目的,在将linux kernel的boot部份做一个介绍,因为笔者觉得很少有这样的
  文章来介绍一个操作系统最最开始的一步----把kernel本身载 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号