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

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

?? gsm_gprs.c.bak

?? gprs串口運行的驅動程序
?? BAK
字號:
// this is a test about GPRS#include <stdio.h>#include <string.h>#include <stdlib.h>#include <fcntl.h>	// open() close() #include <unistd.h>	// read() write()#include <termios.h>	// set baud rate#include <fcntl.h>#include <sys/select.h>#include <sys/time.h>#include <sys/types.h>#define FUNC_RUN		0#define FUNC_NOT_RUN		1#define SIMPLE_TEST 		1#define READ_SIM_CARD_ID 	2#define MAKE_A_CALL 		3#define WAIT_A_CALL	 	4#define SHORT_MESSAGE 		5#define FUNC_QUIT 		6#define SEND_SHORT_MESSAGE		1#define READ_SHORT_MESSAGE		2#define CONFIG_SHORT_MESSAGE_ENV        3#define QUIT_SHORT_MESSAGE		4#define DEVICE_TTYS "/dev/ttyS1"#define MAX_LEN_OF_SHORT_MESSAGE	140#define RECEIVE_BUF_WAIT_1S 1#define RECEIVE_BUF_WAIT_2S 2#define RECEIVE_BUF_WAIT_3S 3#define RECEIVE_BUF_WAIT_4S 4#define RECEIVE_BUF_WAIT_5S 5//------------------------------------- read datas from GSM/GPRS --------------------------------------------// succese return 1// error   return 0int read_GSM_GPRS_datas(int fd, char *rcv_buf,int rcv_wait){	int retval;	fd_set rfds;	struct timeval tv;	int ret,pos;	tv.tv_sec = rcv_wait;	// wait 2.5s        tv.tv_usec = 0;	pos = 0; // point to rceeive buf		while (1)	{		FD_ZERO(&rfds);                FD_SET(fd, &rfds);		retval = select(fd+1 , &rfds, NULL, NULL, &tv);                if (retval == -1) 		{                        perror("select()");                        break;                }		else if (retval) 		{// pan duan shi fou hai you shu ju                         ret = read(fd, rcv_buf+pos, 2048);                        pos += ret;                        if (rcv_buf[pos-2] == '\r' && rcv_buf[pos-1] == '\n') 			{                                FD_ZERO(&rfds);                                FD_SET(fd, &rfds);                                retval = select(fd+1 , &rfds, NULL, NULL, &tv);                                if (!retval) break;// no datas, break                        }                } 		else 		{                        printf("No data\n");                        break;                }	}	return 1;} // end read_GSM_GPRS_datas//------------------------------------- send cmd ------------------------------------------------------------// succese return 1// error   return 0int send_GSM_GPRS_cmd(int fd, char *send_buf){	ssize_t ret;		ret = write(fd,send_buf,strlen(send_buf));	if (ret == -1)        {                printf ("write device %s error\n", DEVICE_TTYS);                return -1;        }	return 1;} // end send_GSM_GPRS_cmd//------------------------------------- send cmd and read back result ---------------------------------------void GSM_GPRS_send_cmd_read_result(int fd, char *send_buf, int rcv_wait){        char rcv_buf[2048];	if((send_buf==NULL) || (send_GSM_GPRS_cmd(fd,send_buf)))	{	// send success , then read		bzero(rcv_buf,sizeof(rcv_buf));		if (read_GSM_GPRS_datas(fd,rcv_buf,rcv_wait))                {                        printf ("%s\n",rcv_buf);                }                else                {                        printf ("read error\n");                }	}	else	{		printf("write error\n");	}} // end GSM_GPRS_send_cmd_read_result//------------------------------------- send cmd : "at" to GSM/GPRS MODEM -----------------------------------void GSM_simple_test(int fd){	char *send_buf="at\r";		GSM_GPRS_send_cmd_read_result(fd,send_buf,RECEIVE_BUF_WAIT_1S);} // end GSM_simple_test//------------------------------------- send cmd : "at+ccid" to GSM/GPRS MODEM ------------------------------void GSM_read_sim_card_id(int fd){        char *send_buf="at+ccid\r";	GSM_GPRS_send_cmd_read_result(fd,send_buf,RECEIVE_BUF_WAIT_1S);} // end GSM_read_sim_card_id//------------------------------------- send cmd : "atd<tel_num>;" to GSM/GPRS MODEM ------------------------//------------------------------------- finish call, send cmd:  "ath" to GSM MODEM --------------------------void GSM_call(int fd){	char send_buf[17];	char *send_cmd_ath = "ath\r";	int i;        // input telephone number        bzero(send_buf,sizeof(send_buf));	        send_buf[0]='a';        send_buf[1]='t';        send_buf[2]='d';	send_buf[16] = '\0';        printf("please input telephone number:");        i = 3;        while (1)        {                send_buf[i]=getchar();                if (send_buf[i]=='\n') break;                i++;        }        send_buf[i]=';';        send_buf[i+1]='\r';	// end input telphone number	// send cmd	GSM_GPRS_send_cmd_read_result(fd,send_buf,RECEIVE_BUF_WAIT_1S);        //quit call        printf("press ENTER for quit:");        getchar();        // send cmd	GSM_GPRS_send_cmd_read_result(fd,send_cmd_ath,RECEIVE_BUF_WAIT_1S);	} // end GSM_call//------------------------------------- wait for GSM/GPRS call signal ---------------------------------------void GSM_wait_call(int fd){	char rcv_buf[2048];	char *send_cmd_ath = "ath\r";        int wait_RING;        wait_RING = 10;        while (wait_RING!=0)        {			bzero(rcv_buf,sizeof(rcv_buf));		if (read_GSM_GPRS_datas(fd,rcv_buf,RECEIVE_BUF_WAIT_1S))                {                        printf ("%s\n",rcv_buf);                }                else                {                        printf ("read error\n");                }		wait_RING--;        }		GSM_GPRS_send_cmd_read_result(fd,send_cmd_ath,RECEIVE_BUF_WAIT_1S);        printf("quit wait_call\n");} // end GSM_wait_call//------------------------------------- GSM/GPRS send short message -----------------------------------------void GSM_Send_Message(int fd){        char cmd_buf[23];        char short_message_buf[MAX_LEN_OF_SHORT_MESSAGE];	int  i;        char rcv_buf;        bzero(cmd_buf,sizeof(cmd_buf));	bzero(short_message_buf,sizeof(short_message_buf));        printf ("send short message:\n");        cmd_buf[0]='a';        cmd_buf[1]='t';        cmd_buf[2]='+';        cmd_buf[3]='c';        cmd_buf[4]='m';        cmd_buf[5]='g';        cmd_buf[6]='s';        cmd_buf[7]='=';        cmd_buf[8]='"';        printf ("please input telephone number:");        i = 9;        while (1)        {                cmd_buf[i]=getchar();                if (cmd_buf[i]=='\n') break;                i++;        }	cmd_buf[i]='"';        cmd_buf[i+1]='\r';	cmd_buf[i+2]='\0';        // send cmd :  at+cmgs="(telephone number)"	GSM_GPRS_send_cmd_read_result(fd,cmd_buf,RECEIVE_BUF_WAIT_1S);	 	// input short message        printf("please input short message:");        i = 0;        while(i < MAX_LEN_OF_SHORT_MESSAGE-2)        {                short_message_buf[i] = getchar();                if (short_message_buf[i]=='\n') break;                i++;        }        short_message_buf[i] = 0x1A;        short_message_buf[i+1] = '\r';	short_message_buf[i+2] = '\0';        // send short message	GSM_GPRS_send_cmd_read_result(fd, short_message_buf,RECEIVE_BUF_WAIT_4S);        printf("\nend send short message\n");} // end GSM_Send_Message//------------------------------------- GSM/GPRS read all short message -------------------------------------void GSM_Read_Message(int fd){	char *send_buf="at+cmgl=\"ALL\"\r";	char rcv_buf[2048];        GSM_GPRS_send_cmd_read_result(fd,send_buf,RECEIVE_BUF_WAIT_3S);	printf("end read all short message\n");} // end GSM_Read_Message//------------------------------------- GSM/GPRS Config short message env -----------------------------------void GSM_Conf_Message(int fd){	char *send_buf="at+cmgf=1\r";	char *send_center_buf="at+csca=\"+8613800100500\"\r";	GSM_GPRS_send_cmd_read_result(fd,send_buf,RECEIVE_BUF_WAIT_1S);        // set short message center number        GSM_GPRS_send_cmd_read_result(fd,send_center_buf,RECEIVE_BUF_WAIT_1S);        printf("end config short message env\n");} // end GSM_Conf_Message//------------------------------------- GSM/GPRS short message ----------------------------------------------void GSM_short_mesg(int fd){        int flag_sm_run, flag_sm_select;        flag_sm_run = FUNC_RUN;        while (flag_sm_run == FUNC_RUN)        {                printf ("\n Select:\n");                printf ("1 : Send short message \n");                printf ("2 : Read all short message \n");                printf ("3 : Config short message env\n");                printf ("4 : quit\n");                printf (">");                scanf("%d",&flag_sm_select);                getchar();		// temp	//	printf ("input select:%d\n",flag_sm_select);		// end temp                switch (flag_sm_select)                {                        case SEND_SHORT_MESSAGE         :       { GSM_Send_Message(fd);         break; }                        case READ_SHORT_MESSAGE         :       { GSM_Read_Message(fd);         break; }                        case CONFIG_SHORT_MESSAGE_ENV   :       { GSM_Conf_Message(fd);         break; }                        case QUIT_SHORT_MESSAGE         :       { flag_sm_run = FUNC_NOT_RUN;	break; }                        default :                                {                                        printf("please input your select use 1 to 3\n");                                }                }        }        printf ("\n");} // end GSM_send_mesg//------------------------------------- print ---------------------------------------------------------------void print_prompt(void){        printf ("Select what you want to do:\n");        printf ("1 : Simple Test\n");        printf ("2 : Read SIM CARD ID\n");        printf ("3 : Make A Call\n");        printf ("4 : Wait A Call\n");        printf ("5 : Short message\n");        printf ("6 : Quit\n");        printf (">");} // end print_prompt//------------------------------------- Control GSM/GPRS MODULE ---------------------------------------------void func_GSM(int fd){        int flag_func_run;        int flag_select_func;        ssize_t ret;        flag_func_run = FUNC_RUN;        while (flag_func_run == FUNC_RUN)        {                print_prompt();			// print select functions                scanf("%d",&flag_select_func);	// user input select                getchar();                switch(flag_select_func)                {                        case SIMPLE_TEST        : {GSM_simple_test(fd);         break;}                        case READ_SIM_CARD_ID   : {GSM_read_sim_card_id(fd);    break;}                        case MAKE_A_CALL        : {GSM_call(fd);                break;}                        case WAIT_A_CALL        : {GSM_wait_call(fd);           break;}                        case SHORT_MESSAGE      : {GSM_short_mesg(fd);          break;}                        case FUNC_QUIT          :                                                {                                                        flag_func_run = FUNC_NOT_RUN;                                                        printf("Quit GSM/GPRS function.  byebye\n");                                                        break;                                                }                        default :                        {                                printf("please input your select use 1 to 7\n");                        }                }        }}// end func_GPRS//------------------------------------- init seriel port  ---------------------------------------------------void init_ttyS(int fd){        struct termios options;        bzero(&options, sizeof(options));       // clear options        cfsetispeed(&options,B9600);            // setup baud rate        cfsetospeed(&options,B9600);        options.c_cflag |= (CRTSCTS | CS8 | CLOCAL | CREAD);	options.c_iflag = IGNPAR;	tcflush(fd, TCIFLUSH);        tcsetattr(fd, TCSANOW, &options);}//end init_ttyS//------------------------------------- main ----------------------------------------------------------------int main(void){        int fd;        printf("\nGSM/GPRS TESTS\n\n");        // open seriel port        fd = open(DEVICE_TTYS, O_RDWR);        if (fd == -1)        {                printf("open device %s error\n",DEVICE_TTYS);        }        else        {		init_ttyS(fd);	// init device		func_GSM(fd);	// GSM/GPRS functions                		// close ttyS0                if (close(fd)!=0) printf("close device %s error",DEVICE_TTYS);        }        return 0;}// end main

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本午夜精品视频在线观看| 99re亚洲国产精品| 不卡av在线网| 日韩一级二级三级| 亚洲精品伦理在线| 国产乱淫av一区二区三区| 欧美亚洲一区三区| 国产亚洲欧美一级| 日韩电影在线观看一区| 99re8在线精品视频免费播放| 在线看国产一区| 久久一区二区三区四区| 丝瓜av网站精品一区二区| 99久久免费视频.com| 精品久久久久久无| 亚洲国产精品久久久久婷婷884| 国产成人午夜视频| 日韩一区二区精品葵司在线| 亚洲在线观看免费视频| 成人av手机在线观看| 精品国产sm最大网站| 日av在线不卡| 欧美性色aⅴ视频一区日韩精品| 国产精品灌醉下药二区| 国产精品一区二区在线观看不卡 | 538prom精品视频线放| 精品国产免费久久 | 日韩国产欧美视频| 91在线视频官网| 欧美韩日一区二区三区四区| 国产一区二区在线影院| 欧美一区二区三区四区视频| 亚洲高清免费视频| 欧美日韩一区二区三区在线看 | 韩国精品主播一区二区在线观看 | 午夜欧美一区二区三区在线播放| 91丨porny丨首页| ●精品国产综合乱码久久久久| 国产九色精品成人porny | 久久97超碰色| 日韩欧美国产电影| 九九精品一区二区| 日韩欧美自拍偷拍| 久久电影网站中文字幕| 日韩视频免费直播| 激情综合网av| 国产亚洲精品资源在线26u| 国产精品一区二区果冻传媒| 国产日韩三级在线| 成人黄色一级视频| 亚洲人成伊人成综合网小说| 色香蕉久久蜜桃| 亚洲成人av一区二区三区| 欧美日本在线观看| 日本午夜一本久久久综合| 欧美一区二区三区在线电影| 麻豆91精品视频| 久久综合九色欧美综合狠狠| 成人一区在线观看| 亚洲精品国产视频| 6080国产精品一区二区| 美女性感视频久久| 国产日韩精品视频一区| 99久久精品国产网站| 一区二区三区精品| 7777精品伊人久久久大香线蕉经典版下载| 亚洲国产一区二区a毛片| 欧美绝品在线观看成人午夜影视| 免费在线观看一区二区三区| 国产性天天综合网| 日本高清不卡aⅴ免费网站| 天天色综合成人网| 亚洲一区二三区| 日韩一区二区三区高清免费看看 | 亚洲成人动漫一区| 久久亚洲精精品中文字幕早川悠里| 成人午夜电影久久影院| 亚洲午夜在线视频| 精品成人一区二区| 色哟哟在线观看一区二区三区| 午夜在线电影亚洲一区| 国产亚洲成av人在线观看导航 | 国产日韩欧美制服另类| 欧美三级乱人伦电影| 国产99久久精品| 日一区二区三区| 国产精品高潮呻吟久久| 日韩免费观看2025年上映的电影 | 国产精品影音先锋| 亚洲成人自拍偷拍| 国产精品久99| 精品美女在线观看| 欧美日韩久久一区二区| 不卡在线视频中文字幕| 另类综合日韩欧美亚洲| 亚洲一区在线观看免费| 国产精品系列在线| 精品精品欲导航| 欧美日韩精品免费| 91免费国产在线| 国产99久久久国产精品免费看| 日韩国产高清在线| 亚洲最大成人综合| 中文字幕亚洲区| 国产日韩欧美精品综合| 欧美一区二区精品久久911| 91伊人久久大香线蕉| 成人听书哪个软件好| 国模冰冰炮一区二区| 免费看日韩精品| 日韩国产精品久久| 日韩综合小视频| 日韩成人一区二区| 天堂一区二区在线| 亚洲一区在线观看视频| 一卡二卡三卡日韩欧美| 综合自拍亚洲综合图不卡区| 国产精品久久久久久久久久久免费看| wwww国产精品欧美| 精品国产1区二区| 精品久久久网站| 久久久久久99精品| 欧美激情一区在线观看| 亚洲国产成人在线| 中文字幕+乱码+中文字幕一区| 亚洲国产电影在线观看| 国产精品美女久久久久久2018| 国产欧美视频在线观看| 欧美国产视频在线| 国产精品不卡在线| 亚洲乱码中文字幕| 亚洲成av人片一区二区三区| 日韩成人一级大片| 狠狠狠色丁香婷婷综合久久五月| 韩国视频一区二区| 91丝袜高跟美女视频| 在线影视一区二区三区| 欧美日韩精品三区| 欧美一级xxx| 2020国产精品| ...xxx性欧美| 丝袜美腿亚洲综合| 国产精品资源在线看| 99热这里都是精品| 欧美日韩中文字幕精品| 精品免费99久久| 中文字幕一区三区| 日韩精品一二三| 国产高清一区日本| 欧美婷婷六月丁香综合色| 欧美精品 国产精品| 26uuu国产日韩综合| 亚洲人成亚洲人成在线观看图片| 亚洲国产日韩综合久久精品| 精品综合久久久久久8888| 国产成人午夜高潮毛片| 欧美性猛交xxxx乱大交退制版| 日韩欧美一二三区| 亚洲日穴在线视频| 精品亚洲porn| 欧美午夜视频网站| xnxx国产精品| 午夜电影一区二区三区| 国产在线播精品第三| 在线免费观看不卡av| 亚洲精品一区二区三区福利| 亚洲精品免费在线| 国产精品综合在线视频| 欧美精品三级在线观看| 日本一区二区三区高清不卡| 亚洲成av人影院| 成人丝袜18视频在线观看| 日韩一区二区三区在线视频| 亚洲伦在线观看| 国产精品中文欧美| 欧美一区二区免费| 亚洲国产一区视频| 91原创在线视频| 日本一区二区免费在线| 日韩黄色小视频| 在线观看不卡视频| 综合欧美亚洲日本| 成人综合激情网| 2024国产精品视频| 日韩高清国产一区在线| 在线亚洲一区二区| 1区2区3区国产精品| 国产成人在线观看| 日韩精品一区二| 美日韩黄色大片| 国产精品欧美一级免费| 人人狠狠综合久久亚洲| 欧美日韩精品福利| 亚洲一区二区三区自拍| 日本精品免费观看高清观看| 亚洲欧洲一区二区三区| 不卡视频在线观看| 中文字幕av一区二区三区高| 粉嫩av一区二区三区| 国产日韩精品一区|