⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 master-example.c

📁 libmodbus version 0.04
💻 C
字号:
#include <modbus.h>/* compiling : gcc master-example.c -o master-example -lmodbus */int main(){   int device;   Mbm_trame trame;   int result;   int data_in[256];   int data_out[256];   char data[256];   /* open device */   device=Mb_open_device("/dev/ttyS0",9600,0,8,1);   /* print debugging informations */   Mb_verbose=0;      /* setup master packet */   trame.device=device;   trame.function=16;			/* send data */   trame.slave=1;					/* slave number*/ //   trame.address=0xa24 -1;   trame.address=2596;   trame.length=4;   trame.timeout=10000;      /* setup data to send */   data_in[0]=0;   data_in[1]=0;/*   data_in[2]=3;   data_in[3]=4;   data_in[4]=5;   data_in[5]=5;   data_in[6]=5;   data_in[7]=5;   data_in[8]=5;*/   result=Mb_master(trame,data_in,data_out,NULL,NULL);   /* return 0 if ok */   if (result<0)   {      if (result==-1) printf("error : unknow function\n");      if (result==-2) printf("crc error\n");      if (result==-3) printf("timeout error\n");      if (result==-4) printf("error : bad slave answer\n");   }   else      printf("ok\n");   trame.function=3;			/* send data */   trame.slave=1;					/* slave number*/ //   trame.address=0xa28;   trame.address=1043;   trame.length=11;   trame.timeout=10000;   result=Mb_master(trame,data_in,data_out,NULL,NULL);   /* return 0 if ok */   if (result<0)   {      if (result==-1) printf("error : unknow function\n");      if (result==-2) printf("crc error\n");      if (result==-3) printf("timeout error\n");      if (result==-4) printf("error : bad slave answer\n");   }   else      printf("ok\n");   data[0] = (char) ((data_out[0] & 0xff00) >> 8);   data[1] = (char) (data_out[0] & 0x00ff);   data[2] = (char) ((data_out[1] & 0xff00) >> 8);   data[3] = (char) (data_out[1] & 0x00ff);   data[4] = (char) ((data_out[2] & 0xff00) >> 8);   data[5] = (char) (data_out[2] & 0x00ff);   data[6] = (char) ((data_out[3] & 0xff00) >> 8);   data[7] = (char) (data_out[3] & 0x00ff);   data[8] = (char) ((data_out[4] & 0xff00) >> 8);   data[9] = (char) (data_out[4] & 0x00ff);   data[10] = (char) ((data_out[5] & 0xff00) >> 8);   data[11] = (char) (data_out[5] & 0x00ff);   data[12] = (char) ((data_out[6] & 0xff00) >> 8);   data[13] = (char) (data_out[6] & 0x00ff);   data[14] = (char) ((data_out[7] & 0xff00) >> 8);   data[15] = (char) (data_out[7] & 0x00ff);   data[16] = (char) ((data_out[8] & 0xff00) >> 8);   data[17] = (char) (data_out[8] & 0x00ff);   data[18] = (char) ((data_out[9] & 0xff00) >> 8);   data[19] = (char) (data_out[9] & 0x00ff);   data[20] = (char) ((data_out[10] & 0xff00) >> 8);   data[21] = (char) (data_out[10] & 0x00ff);   data[22] = (char) ((data_out[11] & 0xff00) >> 8);   data[23] = '\0';   printf("string = .%s.\n", data);   Mb_verbose=1;   trame.function=3;                    /* send data */   trame.slave=1;                                       /* slave number*/   trame.address=2584;   trame.length=1;   trame.timeout=10000;                                                                                                                                                                                                                           result=Mb_master(trame,data_in,data_out,NULL,NULL);   /* return 0 if ok */   if (result<0)   {      if (result==-1) printf("error : unknow function\n");      if (result==-2) printf("crc error\n");      if (result==-3) printf("timeout error\n");      if (result==-4) printf("error : bad slave answer\n");   }   else      printf("ok\n");   Mb_verbose=0;   trame.function=3;			/* send data */   trame.slave=1;					/* slave number*/    trame.address=2600;   trame.length=21;   trame.timeout=10000;   result=Mb_master(trame,data_in,data_out,NULL,NULL);   /* return 0 if ok */   if (result<0)   {      if (result==-1) printf("error : unknow function\n");      if (result==-2) printf("crc error\n");      if (result==-3) printf("timeout error\n");      if (result==-4) printf("error : bad slave answer\n");   }   else      printf("ok\n");   data[0] = (char) ((data_out[2] & 0xff00) >> 8);   data[1] = (char) (data_out[2] & 0x00ff);   data[2] = (char) ((data_out[3] & 0xff00) >> 8);   data[3] = (char) (data_out[3] & 0x00ff);   data[4] = (char) ((data_out[4] & 0xff00) >> 8);   data[5] = (char) (data_out[4] & 0x00ff);   data[6] = (char) ((data_out[5] & 0xff00) >> 8);   data[7] = (char) (data_out[5] & 0x00ff);   data[8] = (char) ((data_out[6] & 0xff00) >> 8);   data[9] = (char) (data_out[6] & 0x00ff);   data[10] = (char) ((data_out[7] & 0xff00) >> 8);   data[11] = (char) (data_out[7] & 0x00ff);   data[12] = (char) ((data_out[8] & 0xff00) >> 8);   data[13] = (char) (data_out[8] & 0x00ff);   data[14] = (char) ((data_out[9] & 0xff00) >> 8);   data[15] = (char) (data_out[9] & 0x00ff);   data[16] = (char) ((data_out[10] & 0xff00) >> 8);   data[17] = (char) (data_out[10] & 0x00ff);   data[18] = (char) ((data_out[11] & 0xff00) >> 8);   data[19] = (char) (data_out[11] & 0x00ff);   data[20] = '\0';   printf("string = .%s.\n", data);   Mb_close_device(device);   return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -