亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? commun.c

?? modbus linux libiary!
?? C
字號:
#include <modbus.h>#include <fcntl.h>/************************************************************************************		Mb_test_crc : check the crc of a packet*************************************************************************************input :-------trame  : packet with is crcn      : lenght of the packet without tht crc                              ^^^^^^^answer :--------1 = crc fealure0 = crc ok************************************************************************************/int Mb_test_crc(byte trame[],int n){	unsigned int crc,i,j,carry_flag,a;	crc=0xffff;	for (i=0;i<n;i++)	{		crc=crc^trame[i];		for (j=0;j<8;j++)		{			a=crc;			carry_flag=a&0x0001;			crc=crc>>1;			if (carry_flag==1)				crc=crc^0xa001;		}	}   if (Mb_verbose)      printf("test crc %0x %0x\n",(crc&255),(crc>>8));	if ((trame[n+1]!=(crc>>8)) || (trame[n]!=(crc&255)))      return 1;   else      return 0;}/************************************************************************************		Mb_calcul_crc : compute the crc of a packet and put it at the end*************************************************************************************input :-------trame  : packet with is crcn      : lenght of the packet without tht crc                              ^^^^^^^answer :--------crc************************************************************************************/int Mb_calcul_crc(byte trame[],int n){	unsigned int crc,i,j,carry_flag,a;	crc=0xffff;	for (i=0;i<n;i++)	{		crc=crc^trame[i];		for (j=0;j<8;j++)		{			a=crc;			carry_flag=a&0x0001;			crc=crc>>1;			if (carry_flag==1)				crc=crc^0xa001;		}	}	trame[n+1]=crc>>8;	trame[n]=crc&255;	return crc;}/************************************************************************************		Mb_close_device : Close the device*************************************************************************************input :-------Mb_device : device descriptorno output************************************************************************************/void Mb_close_device(int Mb_device){  if (tcsetattr (Mb_device,TCSANOW,&saved_tty_parameters) < 0)    perror("Can't restore terminal parameters ");  close(Mb_device);}/************************************************************************************		Mb_open_device : open the device*************************************************************************************input :-------Mbc_port   : string with the device to open (/dev/ttyS0, /dev/ttyS1,...)Mbc_speed  : speed (baudrate)Mbc_parity : 0=don't use parity, 1=use parity EVEN, -1 use parity ODDMbc_bit_l  : number of data bits : 7 or 8 	USE EVERY TIME 8 DATA BITSMbc_bit_s  : number of stop bits : 1 or 2    ^^^^^^^^^^^^^^^^^^^^^^^^^^answer  :---------device descriptor************************************************************************************/int Mb_open_device(char Mbc_port[20], int Mbc_speed, int Mbc_parity, int Mbc_bit_l, int Mbc_bit_s){  int fd;  /* open port */  fd = open(Mbc_port,O_RDWR | O_NOCTTY | O_NONBLOCK | O_NDELAY) ;  if(fd<0)  {    perror("Open device failure\n") ;    exit(-1) ;  }  /* save olds settings port */  if (tcgetattr (fd,&saved_tty_parameters) < 0)  {    perror("Can't get terminal parameters ");    return -1 ;  }  /* settings port */  bzero(&Mb_tio,sizeof(&Mb_tio));  switch (Mbc_speed)  {     case 0:        Mb_tio.c_cflag = B0;        break;     case 50:        Mb_tio.c_cflag = B50;        break;     case 75:        Mb_tio.c_cflag = B75;        break;     case 110:        Mb_tio.c_cflag = B110;        break;     case 134:        Mb_tio.c_cflag = B134;        break;     case 150:        Mb_tio.c_cflag = B150;        break;     case 200:        Mb_tio.c_cflag = B200;        break;     case 300:        Mb_tio.c_cflag = B300;        break;     case 600:        Mb_tio.c_cflag = B600;        break;     case 1200:        Mb_tio.c_cflag = B1200;        break;     case 1800:        Mb_tio.c_cflag = B1800;        break;     case 2400:        Mb_tio.c_cflag = B2400;        break;     case 4800:        Mb_tio.c_cflag = B4800;        break;     case 9600:        Mb_tio.c_cflag = B9600;        break;     case 19200:        Mb_tio.c_cflag = B19200;        break;     case 38400:        Mb_tio.c_cflag = B38400;        break;     case 57600:        Mb_tio.c_cflag = B57600;        break;     case 115200:        Mb_tio.c_cflag = B115200;        break;     case 230400:        Mb_tio.c_cflag = B230400;        break;     default:        Mb_tio.c_cflag = B9600;  }  switch (Mbc_bit_l)  {     case 7:        Mb_tio.c_cflag = Mb_tio.c_cflag | CS7;        break;     case 8:     default:        Mb_tio.c_cflag = Mb_tio.c_cflag | CS8;        break;  }  switch (Mbc_parity)  {     case 1:        Mb_tio.c_cflag = Mb_tio.c_cflag | PARENB;//        Mb_tio.c_iflag = ICRNL;        break;     case -1:        Mb_tio.c_cflag = Mb_tio.c_cflag | PARENB | PARODD;//        Mb_tio.c_iflag = ICRNL;        break;     case 0:     default://        Mb_tio.c_iflag = IGNPAR | ICRNL;        Mb_tio.c_iflag = IGNPAR;//        Mb_tio.c_iflag &= ~ICRNL;        break;  }  Mb_tio.c_iflag &= ~ICRNL;  if (Mbc_bit_s==2)     Mb_tio.c_cflag = Mb_tio.c_cflag | CSTOPB;       Mb_tio.c_cflag = Mb_tio.c_cflag | CLOCAL | CREAD;  Mb_tio.c_oflag = 0;  Mb_tio.c_lflag = 0; /*ICANON;*/  Mb_tio.c_cc[VMIN]=1;  Mb_tio.c_cc[VTIME]=0;  /* clean port */  tcflush(fd, TCIFLUSH);  fcntl(fd, F_SETFL, FASYNC);  /* activate the settings port */  if (tcsetattr(fd,TCSANOW,&Mb_tio) <0)  {    perror("Can't set terminal parameters ");    return -1 ;  }    /* clean I & O device */  tcflush(fd,TCIOFLUSH);     if (Mb_verbose)   {      printf("setting ok:\n");      printf("device        %s\n",Mbc_port);      printf("speed         %d\n",Mbc_speed);      printf("data bits     %d\n",Mbc_bit_l);      printf("stop bits     %d\n",Mbc_bit_s);      printf("parity        %d\n",Mbc_parity);   }   return fd ;}/************************************************************************************		Mb_rcv_print : print a characterThis function can be use with slave or master to print a character when it receive one*************************************************************************************input :-------c : characterno output************************************************************************************/void Mb_rcv_print(unsigned char c){   printf("-> receiving byte :0x%x %d \n",c,c);}/************************************************************************************		Mb_snd_print : print a characterThis function can be use with slave or master to print a character when it send one*************************************************************************************input :-------c : characterno output************************************************************************************/void Mb_snd_print(unsigned char c){   printf("<- sending byte :0x%x %d \n",c,c);}char *Mb_version(void){   return VERSION;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜av影视| 色吧成人激情小说| 亚洲男人的天堂在线aⅴ视频| 欧美日韩一区成人| 国产精品66部| 亚洲国产综合色| 国产精品家庭影院| 欧美成va人片在线观看| 91行情网站电视在线观看高清版| 久久99深爱久久99精品| 亚洲精品视频观看| 国产亚洲精品aa| 日韩一级二级三级| 日本韩国视频一区二区| 懂色av一区二区三区蜜臀| 亚洲午夜成aⅴ人片| 精品99一区二区三区| 精品视频一区二区三区免费| 丰满岳乱妇一区二区三区| 久久不见久久见免费视频1| 亚洲丝袜精品丝袜在线| 精品国产亚洲一区二区三区在线观看| 色综合一区二区| 成人免费黄色大片| 日本午夜精品一区二区三区电影| 国产精品黄色在线观看| 久久精品在线观看| 精品91自产拍在线观看一区| 欧美日韩三级一区| 在线观看日韩电影| 91视频91自| 国产99久久久国产精品免费看| 毛片av中文字幕一区二区| 亚洲成人手机在线| 国产精品久久久久久久第一福利| 日韩欧美精品三级| 538prom精品视频线放| 91福利资源站| 色网综合在线观看| 高清不卡在线观看| 国产成人精品影视| 国产一区二区不卡在线| 免费在线成人网| 免费国产亚洲视频| 美腿丝袜亚洲综合| 午夜精品福利一区二区三区av | 国产激情一区二区三区四区| 美女尤物国产一区| 日韩精品电影一区亚洲| 免费人成在线不卡| 蜜桃视频在线一区| 国产一区二区三区四| 国产福利91精品| 不卡的电影网站| 91视视频在线观看入口直接观看www| 成人精品国产福利| 色香蕉久久蜜桃| 欧美日韩一区在线| 欧美一区二区三区四区久久 | 久久精品视频免费| 久久久久亚洲蜜桃| 国产精品久久三区| 亚洲私人影院在线观看| 亚洲国产精品一区二区www在线| 五月综合激情婷婷六月色窝| 日本不卡不码高清免费观看| 狠狠久久亚洲欧美| 99在线精品免费| 色94色欧美sute亚洲线路一久 | 高清不卡一二三区| 色哟哟精品一区| 欧美一区二区视频在线观看2022| 精品国产乱码91久久久久久网站| 中文字幕乱码一区二区免费| 一区二区三区日韩欧美| 蜜臀a∨国产成人精品| 国产91在线|亚洲| 欧美亚洲综合另类| 精品国产乱码久久久久久蜜臀| 中文av字幕一区| 五月婷婷另类国产| 国产成人啪免费观看软件| 欧美在线高清视频| 国产亚洲一二三区| 亚洲一区二区四区蜜桃| 韩国欧美一区二区| 欧美在线啊v一区| 精品伦理精品一区| 亚洲一卡二卡三卡四卡五卡| 国产专区欧美精品| 欧洲亚洲国产日韩| 久久精品夜夜夜夜久久| 一区二区三区电影在线播| 黄网站免费久久| 在线免费观看一区| 久久久.com| 五月激情综合网| 岛国一区二区三区| 欧美一区二区女人| 亚洲精品第一国产综合野| 国产一区二区精品久久99| 欧美日韩在线播放一区| 精品乱人伦一区二区三区| 亚洲自拍偷拍综合| 国产v综合v亚洲欧| 日韩精品专区在线影院观看| 亚洲国产视频一区二区| 成人a区在线观看| 精品福利一二区| 日韩在线a电影| 在线精品视频免费播放| 国产精品久久久久一区二区三区共| 久久99精品久久久久久久久久久久| 欧美主播一区二区三区| 17c精品麻豆一区二区免费| 捆绑调教一区二区三区| 欧美日韩一区二区三区免费看| 国产精品对白交换视频 | 亚洲综合一二区| 成人99免费视频| 久久久久国产免费免费 | 亚洲成a人v欧美综合天堂| 99久久久国产精品免费蜜臀| 久久久久久久久久久电影| 久久99国产精品尤物| 91精品婷婷国产综合久久竹菊| 亚洲一区日韩精品中文字幕| 99视频超级精品| 国产精品久久久久一区二区三区 | 国产日韩欧美a| 国产美女精品一区二区三区| 日韩午夜小视频| 麻豆精品国产传媒mv男同| 91精品国产一区二区三区香蕉| 午夜欧美大尺度福利影院在线看| 99re8在线精品视频免费播放| 国产精品天天看| 成人黄色小视频| 国产精品丝袜91| 成人av手机在线观看| 国产精品久久久久久久久晋中| 成人午夜激情影院| 国产精品美女久久久久久2018| 国产99久久久精品| 成人免费在线播放视频| 色网站国产精品| 亚洲一区二区三区视频在线| 精品视频在线视频| 奇米影视一区二区三区小说| 欧美一区二区三区色| 久久精品国产999大香线蕉| 精品免费日韩av| 国产成人午夜高潮毛片| 欧美视频自拍偷拍| 亚洲成av人片在www色猫咪| 欧美男同性恋视频网站| 蜜桃传媒麻豆第一区在线观看| 精品国产露脸精彩对白| 国产99久久精品| 一区二区三区高清| 日韩一区二区在线观看视频播放| 久久机这里只有精品| 国产午夜精品在线观看| 97久久久精品综合88久久| 综合激情成人伊人| 欧美精品精品一区| 国产中文字幕精品| 国产精品白丝在线| 欧美日韩国产免费一区二区 | 欧美电视剧免费全集观看| 国产成人免费高清| 伊人性伊人情综合网| 91精品国产91久久久久久一区二区| 国内精品伊人久久久久av一坑 | 亚洲精品一区二区三区精华液| 成人午夜电影小说| 午夜久久久久久| 日本一区二区电影| 欧美日韩亚洲不卡| 粉嫩av亚洲一区二区图片| 亚洲一区二区在线免费观看视频 | 亚洲精品国产a| 日韩欧美综合一区| 91麻豆swag| 久久99久久99| 亚洲视频一二三| 欧美mv日韩mv国产网站| 91视频在线看| 国产综合色产在线精品| 亚洲精品乱码久久久久| 久久青草国产手机看片福利盒子| 色嗨嗨av一区二区三区| 国内精品免费**视频| 亚洲亚洲人成综合网络| 欧美国产禁国产网站cc| 欧美一区二区在线视频| 色又黄又爽网站www久久| 国产老女人精品毛片久久| 视频精品一区二区| 亚洲免费在线播放|