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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? serialfunc.c

?? Gserial 串口調試器 gserial
?? C
字號:
#include "serialfunc.h"#include <gtk/gtk.h>#include <signal.h>#include <stdio.h>#include <termios.h>#include <fcntl.h>#include <sys/types.h>#include <unistd.h>#include <string.h>static speed_t baud_rate = B115200;static gint bit_size = 8;static gint checkmod = 0;			// 0:none ; 1:odd ; 2:evenstatic struct termios term,termsave;static FILE* fp = NULL;				//file pointer for serial portstatic gchar* port = NULL;void tty_set_port(const gchar* portname){	if (portname == NULL)	{		g_warning("portname can not be NULL");		return;	}	if (port != NULL)		free(port);	port = strdup(portname);}void tty_set_baud_rate(speed_t speed){	baud_rate = speed;}void tty_set_bit_size(gint size){	bit_size = size;}void tty_set_checkmod(gint mod){	checkmod = mod;}FILE* tty_get_fp(){	return fp;}gint tty_serial_open(){			gint fd;	gint accessmod;			if ((fp = fopen(port,"rb+")) == NULL)	{		g_warning("error open %s\n",port);		return -1;	}	setbuf(fp,NULL);	fd = fileno(fp);		accessmod = fcntl(fd,F_GETFL,0);		if ( tcgetattr(fd,&termsave)<0 )	{		g_print("error in tcgetattr %s\n",port);		fclose(fp);		return -1;	}		if ( fcntl(fd,F_SETFL,accessmod|O_NONBLOCK) == -1)	{		g_warning("change access mod to nonblock failed\n");		fclose(fp);		return -1;	}		term = termsave;	//g_print("inlcr = %d\n",term.c_iflag & INLCR);	//g_print("icrnl = %d\n",term.c_iflag & ICRNL);	//g_print("Echonl = %d\n",term.c_lflag & ECHONL);	//g_print("echo = %d\n",term.c_iflag & ECHO);	// disable nl=>cr translate	// disable cr=>nl translate	// no SIGINT on BREAK, output flow control off	term.c_iflag &= ~(INLCR|ICRNL|BRKINT|IXON);		// disable nl echo	// disable echo	// extended ipnut processing off, signal chars off	// canonical mode off i.e. terminal not in line buffer mode	term.c_lflag &= ~(ECHONL|ECHO|IEXTEN|ISIG|ICANON);	// output processing off	term.c_oflag &= ~(OPOST);		term.c_cc[VMIN] = TTY_MIN_READ_SIZE;	term.c_cc[VTIME] = TTY_RETURN_TIME;		//-------------- set serial port's baud_rate ----------------	if ( cfsetospeed(&term,baud_rate)<0 )	{		g_warning("set serial output baud rate error\n");		fclose(fp);		return -1;	}    if ( cfsetispeed(&term,baud_rate)<0 )    {        g_warning("set serial input baud rate error\n");		fclose(fp);        return -1;    }	//------------- set serial port's bits per byte ---------------	switch(bit_size)	{		case 5:			term.c_cflag &= ~(CSIZE);			term.c_cflag |= CS5;			break;		case 6:			term.c_cflag &= ~(CSIZE);			term.c_cflag |= CS6;			break;		case 7:			term.c_cflag &= ~(CSIZE);			term.c_cflag |= CS7;			break;		case 8:			term.c_cflag &= ~(CSIZE);			term.c_cflag |= CS8;			break;		default:			g_warning("set bit_size failed\n");			fclose(fp);			return -1;	}	//-------- set serial port's odd\even check mode -------------	switch(checkmod)	{		case 0:			term.c_cflag &= ~(PARENB);			break;		case 1:			term.c_cflag |= PARENB;			term.c_cflag |= PARODD;			break;		case 2:			term.c_cflag |= PARENB;			term.c_cflag |= ~(PARODD);			break;		default:			g_warning("set checkmod failed\n");			fclose(fp);			return -1;	}	//------- only now really set the serial port's parameters ------------	if ( tcsetattr(fd,TCSANOW,&term)<0 )	{			g_warning("error tcsetattr %s\n",port);		fclose(fp);		return -1;	}	return 0;}void tty_serial_close(){	if (fp == NULL)		return;		// restore the terminal's mode	if ( tcsetattr(fileno(fp),TCSANOW,&termsave)<0 )	{			g_warning("error tcsetattr");	}		if (tcflush(fileno(fp),TCIOFLUSH) == -1)		g_warning("tcflush error\n");	fclose(fp);	fp = NULL;}gint tty_read_data(gint event_fd,gchar* buffer,gint size){	gint readsize;	if( event_fd == fileno(fp) )	{		readsize = read(fileno(fp),buffer,size-1);		if (readsize == -1)		{			g_warning("read data from serial error");			buffer[0] = '\0';		}		else		{			buffer[readsize] = '\0';		}	}	else	{		g_warning("should not come here\n");		buffer[0] = '\0';	}	return readsize;}int tty_write_data(const gchar* text){	int count;	int i;	size_t length;		if ( fp == NULL )		return EOF;	count = 0;	length = strlen(text);	for (i=0;i<length;i++)	{		if( fputc(text[i],fp) != EOF)		{			count++;		}	}	return count;//	fputs("\r\n",fp);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品少妇一区二区| 亚洲欧洲99久久| 国产精品福利在线播放| 亚洲一区二区视频在线观看| 精品一区二区日韩| 欧美日韩一区二区在线观看| 国产日韩欧美电影| 另类综合日韩欧美亚洲| 91麻豆蜜桃一区二区三区| 日韩欧美资源站| 夜夜亚洲天天久久| 99麻豆久久久国产精品免费 | 亚洲午夜免费视频| 国产成人免费9x9x人网站视频| 欧美猛男gaygay网站| 亚洲欧美偷拍另类a∨色屁股| 精品一区二区三区欧美| 欧美高清一级片在线| 一区二区三区精品视频| 这里只有精品免费| 亚洲日本免费电影| 成人午夜激情片| 久久精品一区二区| 国产伦精品一区二区三区视频青涩 | 日本韩国一区二区三区视频| 国产亚洲精久久久久久| 狠狠色丁香久久婷婷综| 欧美成人性福生活免费看| 婷婷久久综合九色综合伊人色| 色婷婷精品久久二区二区蜜臂av| 欧美国产一区二区| 国产传媒久久文化传媒| 久久久久久久久免费| 国产精品亚洲视频| 久久精品欧美一区二区三区不卡| 极品少妇一区二区| 久久久欧美精品sm网站| 国产成人在线电影| 国产精品国产自产拍在线| 成人动漫精品一区二区| 国产精品色婷婷| 成人黄页毛片网站| 国产精品久久夜| 99精品欧美一区二区蜜桃免费 | 国产精品一色哟哟哟| 久久人人超碰精品| 东方aⅴ免费观看久久av| 中文字幕 久热精品 视频在线 | 99久久99久久精品免费观看| 国产精品久久777777| 99精品欧美一区二区三区综合在线| 国产精品的网站| 日本大香伊一区二区三区| 亚洲成人免费影院| 日韩欧美一级片| 懂色av一区二区在线播放| 亚洲欧美一区二区三区久本道91 | 国产传媒久久文化传媒| 亚洲视频中文字幕| 3d动漫精品啪啪1区2区免费| 狠狠色综合色综合网络| 亚洲色图欧洲色图婷婷| 91精品国产综合久久精品麻豆| 精品一区二区精品| 中文字幕一区二区三区四区不卡| 欧美三日本三级三级在线播放| 日韩高清不卡一区二区| 国产天堂亚洲国产碰碰| 在线观看亚洲成人| 国产真实乱偷精品视频免| 亚洲视频在线一区| 亚洲精品在线免费观看视频| 91亚洲男人天堂| 精品午夜一区二区三区在线观看| 成人免费小视频| 日韩精品一区二区三区三区免费| 欧美一二三区在线观看| 国产成人免费视| 午夜视频一区在线观看| 国产精品久久久久9999吃药| 欧美一级理论性理论a| 成人激情文学综合网| 免费在线观看日韩欧美| 亚洲理论在线观看| 国产亚洲一本大道中文在线| 欧美日韩成人综合在线一区二区 | 国产三区在线成人av| 欧美精品少妇一区二区三区| 国产传媒日韩欧美成人| 蜜臀久久久久久久| 亚洲在线视频一区| 国产精品盗摄一区二区三区| 久久夜色精品国产欧美乱极品| 欧美日韩国产三级| 日本久久电影网| 99久久伊人精品| 国产成人8x视频一区二区| 激情文学综合网| 蜜臀av性久久久久蜜臀aⅴ| 亚洲第一狼人社区| 亚洲男同1069视频| 亚洲天堂久久久久久久| 国产精品全国免费观看高清| 久久综合九色综合97婷婷| 欧美一区二区精美| 欧美一区二区三区思思人| 欧美精三区欧美精三区| 在线一区二区三区四区五区| 91香蕉视频mp4| caoporen国产精品视频| 国产99精品视频| 国产999精品久久久久久| 国产伦精品一区二区三区免费迷| 久久99国产精品免费网站| 秋霞国产午夜精品免费视频| 午夜不卡在线视频| 视频一区二区国产| 日韩国产欧美在线观看| 日韩中文字幕一区二区三区| 香蕉影视欧美成人| 免费人成黄页网站在线一区二区| 日韩黄色免费电影| 青青草国产精品亚洲专区无| 理论电影国产精品| 国产在线一区观看| 国产69精品久久久久毛片| 99在线视频精品| 色婷婷av一区二区三区软件| 欧日韩精品视频| 欧美一区二区三区免费大片 | 国产午夜久久久久| 亚洲国产电影在线观看| 亚洲欧洲国产日本综合| 亚洲一二三四区不卡| 日韩不卡在线观看日韩不卡视频| 日韩极品在线观看| 韩国精品免费视频| 成人黄色免费短视频| 91国内精品野花午夜精品| 67194成人在线观看| 久久久蜜桃精品| 亚洲乱码国产乱码精品精98午夜| 亚洲高清免费观看| 国产一区二区三区观看| 色视频成人在线观看免| 欧美一卡2卡三卡4卡5免费| 国产蜜臀av在线一区二区三区| 亚洲欧洲www| 蜜桃传媒麻豆第一区在线观看| 国产91高潮流白浆在线麻豆| 在线免费亚洲电影| 久久色在线视频| 一区二区免费看| 国模大尺度一区二区三区| 91影视在线播放| 精品99一区二区| 一区二区三区四区不卡在线| 精久久久久久久久久久| 色综合久久66| 久久免费午夜影院| 日韩国产欧美三级| 色偷偷久久一区二区三区| 欧美不卡123| 亚洲午夜一区二区三区| 欧美久久久久久久久久| 久久综合视频网| 日韩影院精彩在线| av午夜精品一区二区三区| 欧美成人激情免费网| 一二三区精品福利视频| 国产成人综合在线播放| 日韩亚洲欧美一区二区三区| 亚洲激情自拍视频| 国产成人av电影在线| 欧美xxxxxxxx| 日韩中文字幕91| 欧美色精品天天在线观看视频| 国产精品久久三区| 国产精品影视网| 日韩美女一区二区三区四区| 亚洲国产精品久久人人爱蜜臀| 成人app下载| 日本一区二区三区四区在线视频| 麻豆精品在线看| 欧美一区二区三区在线观看 | 亚洲国产电影在线观看| 久久国产麻豆精品| 91麻豆精品国产91久久久久久久久 | 国产成人精品影院| 精品国偷自产国产一区| 日本午夜精品一区二区三区电影 | 亚洲欧美日韩国产一区二区三区| 国产激情一区二区三区| 精品理论电影在线观看| 日韩va欧美va亚洲va久久| 在线观看不卡一区| 一区二区三区在线看| 一本到高清视频免费精品| 中文字幕在线观看不卡视频| 波多野结衣中文字幕一区 |