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

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

?? gsmcontrol.cpp

?? 嵌入式pxa 270平臺上的GPS和GSM通信實驗
?? CPP
字號:
#include "gsmcontrol.h"#include <qmessagebox.h>#include <qstring.h>#include  <stdio.h>      #include  <stdlib.h>     #include  <unistd.h>     #include  <sys/types.h> GsmControl::GsmControl(){       serialfd=-1;      pSerial =new Serial();}GsmControl::~GsmControl(){   // delete receiver;}int GsmControl::Open(int index, int nBaud){    if(serialfd)    {	pSerial->closePort(serialfd);	serialfd=-1;    }    serialfd=pSerial->openPort(index);    if(serialfd)    	pSerial->setPara(serialfd, nBaud,8,1,0);     return serialfd;    }void GsmControl::Close(){    if(serialfd)    {	pSerial->closePort(serialfd);	serialfd=-1;    }		}void GsmControl::InitGPRS()	{        int len=0;    char *ATE0="ATE0\r\n";    char *CNMI="AT+CNMI=1,1,0,0,1\r\n";    char *CMGF="AT+CMGF=0\r\n";    if(serialfd>0)    {	len=::strlen(ATE0);	if(pSerial->nwrite(serialfd, ATE0,len)!=len)	    QMessageBox::information(NULL,"information","write Error"); 	//::sleep(1);	len=::strlen(CNMI);  	if(pSerial->nwrite(serialfd, CNMI,len)!=len)	   QMessageBox::information(NULL,"information","write Error");  	//::sleep(1);	len=::strlen(CMGF);  		if(pSerial->nwrite(serialfd, CMGF,len)!=len)	    QMessageBox::information(NULL,"information","write Error");        }    else	QMessageBox::information(NULL,"information","Open port first");	}void GsmControl::DeleteMessage( QString strMsgIndex){    char *enter="\r\n";    if(serialfd>0)    {	const char *chCmd;			QString strCmdDele="AT+CMGD="+strMsgIndex;	strCmdDele+=enter;			chCmd=strCmdDele.latin1();	int len=::strlen(chCmd);	pSerial->nwrite( serialfd, chCmd, len);    }  }QString GsmControl::ProcessMessage( QString strMsg){    char *strmb="From: ";    char *strdd="Time: ";     char *strcontent="Content: ";			    QString ctrlouttmp;    QString strupper;    //const char *ctrlout;    int n, nPDULength, i, len ;    QString strData,strSrc,strDes,nType,strPDULength;    QString strnumber , strdate, strnumtmp, strdatetmp;    const char *charPDULength;    QString messagecontent;				    // find the last "," first    n = strMsg.findRev(',');				    // get the PDU data length    strPDULength = strMsg.mid(n+1,2);    charPDULength=strPDULength.latin1();          nPDULength=(*charPDULength-48)*10;    nPDULength+=*(charPDULength+1)-48;        // get the TPDU content    strData = strMsg.mid(n+23,nPDULength*2);			    // get the mobile phone number    strnumber=strData.mid(6,14);	//modify 6,12    // decode the mobile phone number    len=strnumber.length();    for(i=0;i<len-2;i=i+2)		    {	strnumtmp+=strnumber.mid(i+1,1);	strnumtmp+=strnumber.mid(i,1);    }    strnumtmp+=strnumber.mid(i+1,1);		    // 1. add the decoded mobile phone number into the message content    messagecontent+=QString( strmb+strnumtmp+"\n" );		    // get the date and time    strdate=strData.mid(24,12);	//22,12    len=strdate.length();    // decode the date and time    for(i=0;i<len;i=i+2)		    {	strdatetmp+=strdate.mid(i+1,1);	strdatetmp+=strdate.mid(i,1);	if(i<4)	    strdatetmp+="-";	if(i==4)	    strdatetmp+="  ";	if((i>4)&&(i<10))	    strdatetmp+=":";    }	    // 2. add the decoded date & time into the message content    messagecontent+=QString( strdd+strdatetmp+"\n" );				    nType=strData.mid(22,2);//20,2    // get the content string    strSrc = strData.mid(40,(nPDULength-19)*2);  	//			    if(nType.find("00",false)>=0)	// 7 bits decoding	strDes=Bit7Decode(strSrc);    else	// PDU decoding ( it's what we use in this contest )	strDes=DecToUnicode(strSrc); 	    strDes=strDes.lower();    // 3. add the decoded date & time into the message content    messagecontent+=QString(strcontent+strDes+"\n");			   //return strDes;    return messagecontent;    }void GsmControl::ReadMessage( QString strMsgIndex){    char *enter="\r\n";    if(serialfd>0)    {	const char *chCmd;			QString strCmdRead="AT+CMGR="+strMsgIndex;	strCmdRead+=enter;			chCmd=strCmdRead.latin1();	int len=::strlen(chCmd);	pSerial->nwrite( serialfd, chCmd, len);    }      }QString GsmControl::PreSendMessage( QString strSendMsg, QString strPhoneNumber, QString strServerNumber){    // define the Message content    char *chMsgHead0="089168";    char *charMsgHead1="11000B81";           char *chMsgTail="0008AA";    char *enter="\r\n";    char esc=0x1A;    	    QString strEncodeMsg="";      QString strSendTemp="";    if ( serialfd>0 )    {			// add the message head first	strSendTemp=chMsgHead0;		// encode the SMS server number 	strSendTemp+=NumberConversion(strServerNumber);/*	int length=strServerNumber.length(); 	int i;		for(i=0;i<length-1;i=i+2)	{		    strSendTemp+=strServerNumber.mid(i+1,1);	    strSendTemp+=strServerNumber.mid(i,1);	}	strSendTemp+="F";	strSendTemp+=strServerNumber.mid(i,1);*/		strSendTemp+=charMsgHead1;		// encode the mobilephone number 	strSendTemp+=NumberConversion(strPhoneNumber);	/*length=strPhoneNumber.length(); 	for(i=0;i<length-1;i=i+2)	{		    strSendTemp+=strPhoneNumber.mid(i+1,1);	    strSendTemp+=strPhoneNumber.mid(i,1);	}	strSendTemp+="F";	strSendTemp+=strPhoneNumber.mid(i,1);	*/			// add the message tail	strSendTemp+=chMsgTail; 			// encode the message content	strEncodeMsg=ToUnicode(strSendMsg); 			// get the whole encoded ready sent message data length except for the SMS Center number	bool ok;	int Msglen;	Msglen=strEncodeMsg.mid(0,2).toInt(&ok ,16);    	Msglen+=14;								strSendTemp+=strEncodeMsg;		strSendTemp+=esc;  				strSendTemp+=enter;							QString sendata=QString("AT+CMGS=%1").arg(Msglen);     	sendata+=enter;    	const char *send=sendata.latin1();    	int len=::strlen( send );    			pSerial->nwrite( serialfd, send, len); 					return strSendTemp; 	    }    return strSendTemp;}QString GsmControl::NumberConversion(QString strNumber){    QString strTempNumber;    int length=strNumber.length();     int i;	    for(i=0;i<length-1;i=i+2)    {		strTempNumber+=strNumber.mid(i+1,1);	strTempNumber+=strNumber.mid(i,1);    }    strTempNumber+="F";    strTempNumber+=strNumber.mid(i,1);    return strTempNumber;    }void GsmControl::SendMessage(QString strSendMsg){    const char *sendata=strSendMsg.latin1();    int len=::strlen(sendata);    if(serialfd>0)		pSerial->nwrite( serialfd,sendata,len );         }QString GsmControl::DecToUnicode(QString strSrc){	int strlength;	QString strMsgtmp,str0;	bool ok;	QString strMsgout;	ushort num;	strlength=strSrc.length();	const ushort *data;	for(int i=0;i<strlength;i=i+4)	{	    str0=strSrc.mid(i,4);	    num=str0.toUShort(&ok,16);	    data=&num;	    strMsgtmp=strMsgtmp.setUnicodeCodes(data,1);	    strMsgout+=strMsgtmp;		}	return strMsgout;}QString GsmControl::ToUnicode( QString strSrc ){		const QChar *qchar;	QChar test;	QString str0;	QString strout;	ushort num;	qchar=strSrc.unicode();	int strlength=strSrc.length()*2;	const char *buffer;	QString qstrlen;	qstrlen=qstrlen.setNum(strlength,16);   	buffer=qstrlen.latin1();		if (::strlen(buffer)==2)	{		strout=*buffer++;		strout+=*buffer;	} 	else	{		strout='0';		strout+=*buffer;	}    	for(int i=0;i<strlength/2;i++)	{		test=(QChar)*qchar++;		num=test.unicode();		if(num<255)			strout+="00";	   		str0=str0.setNum(num,16);		strout+=str0;	}  	return strout;}QString GsmControl::Bit7Decode(QString &strSrc){	unsigned char pDst[4096]; 	char pSrc[4096]; 	int i, length;		int strlength=strSrc.length(); 	for(i=0;i<strlength;i++) 	{ 		pSrc[i]=strSrc.at(i).latin1(); 		}	 	for(i=0;  i<strlength;i=i+2) 	{ 		char c[2]; 		char *p; 		unsigned long t; 		c[0]=pSrc[i]; 		c[1]=pSrc[i+1]; 		t=strtoul (c,&p,16); 		pDst[i/2]=t;   	}	 	length=GSMDecode7bit(pDst,pSrc,strlength/2);	QString textout=pSrc; 	return textout;}int GsmControl::GSMDecode7bit( const unsigned char *pSrc, char *pDst, int nSrcLength ){	int nSrc=0;  	int nDst=0;  	int nByte=0;  	unsigned char nLeft=0; 	while(nSrc<nSrcLength)	{	    *pDst = ((*pSrc << nByte) | nLeft) & 0x7f;	    nLeft = *pSrc >> (7-nByte);		    pDst++;	    nDst++;	    nByte++;	    if(nByte == 7)	    {		*pDst = nLeft ;		pDst++;		nDst++;		nByte = 0;		nLeft = 0;	    }	    pSrc++;	    nSrc++;	}		*pDst = 0;	return nDst; }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久草在线在线精品观看| 亚洲欧美日韩国产中文在线| 日本韩国一区二区三区| 国产91精品一区二区麻豆亚洲| 久久99最新地址| 精品一区二区三区蜜桃| 美女视频一区在线观看| 日韩av一区二区三区四区| 三级一区在线视频先锋 | 91老师国产黑色丝袜在线| 国产精品一区二区免费不卡| 国产在线国偷精品产拍免费yy| 国产九色精品成人porny| 久久精品国产第一区二区三区| 麻豆精品在线视频| 国产一区二区三区免费看| 国产精品系列在线观看| 丰满白嫩尤物一区二区| 色94色欧美sute亚洲13| 69av一区二区三区| 精品久久久久久久久久久久久久久| 欧美xxxxxxxxx| 欧美国产精品v| 亚洲一区中文日韩| 美腿丝袜亚洲色图| 成人性生交大片免费看中文网站| av高清不卡在线| 欧美电影一区二区| 久久久久久久久久久99999| 一区免费观看视频| 日韩精品1区2区3区| 经典一区二区三区| 色综合久久综合网欧美综合网| 欧美日韩黄色一区二区| 久久久久久免费| 伊人开心综合网| 久久99最新地址| 日本久久精品电影| 26uuu亚洲| 亚洲国产精品一区二区久久恐怖片 | 久久99久久精品欧美| 成人小视频免费在线观看| 成人app软件下载大全免费| 成人av网址在线| 7777精品伊人久久久大香线蕉的 | 国产精品国产三级国产专播品爱网| 亚洲伊人伊色伊影伊综合网| 毛片av一区二区| 91香蕉视频黄| 久久蜜桃一区二区| 亚洲成av人片一区二区三区| 国产精品综合一区二区| 欧美日韩国产区一| 中文文精品字幕一区二区| 亚洲精品国产品国语在线app| 国产真实乱偷精品视频免| 欧美日韩中文另类| 亚洲视频一区在线| 粉嫩一区二区三区性色av| 9191久久久久久久久久久| 中文字幕精品综合| 激情av综合网| 91精品欧美久久久久久动漫| 亚洲欧美韩国综合色| 国产成人精品三级| 日韩精品一区二| 丝瓜av网站精品一区二区| 欧美亚洲另类激情小说| 国产精品视频线看| 国产凹凸在线观看一区二区| 日韩免费成人网| 欧美aaaaaa午夜精品| 欧美色倩网站大全免费| 一区二区三区不卡视频在线观看 | 日韩免费电影一区| 免费观看成人av| 日韩一级片网址| 免费高清在线一区| 精品日韩一区二区三区免费视频| 亚洲成在线观看| 欧美日韩国产小视频在线观看| 亚洲另类中文字| 91免费在线看| 樱桃视频在线观看一区| 91色视频在线| 亚洲成a人在线观看| 欧美丰满美乳xxx高潮www| 性感美女极品91精品| 这里是久久伊人| 久久精品99国产精品| 久久久久久久电影| 成人的网站免费观看| 国产精品热久久久久夜色精品三区| 成人av网址在线| 亚洲在线视频免费观看| 91精品国产综合久久精品图片| 日本va欧美va欧美va精品| 精品成人一区二区三区| 国产二区国产一区在线观看| 《视频一区视频二区| 91国偷自产一区二区三区观看| 天天综合色天天| 久久亚洲影视婷婷| 色综合天天狠狠| 日韩二区三区在线观看| 欧美一级午夜免费电影| 亚洲a一区二区| 精品国产三级电影在线观看| 久久狠狠亚洲综合| 国产女主播一区| 色综合色狠狠综合色| 天天综合网 天天综合色| 日韩一区二区三区三四区视频在线观看 | 91麻豆精品国产91久久久久久| 天天综合日日夜夜精品| 久久综合色8888| 大美女一区二区三区| 欧美高清在线精品一区| 日本精品视频一区二区| 午夜不卡在线视频| 久久久亚洲精品一区二区三区| 一本久久a久久免费精品不卡| 偷拍自拍另类欧美| 久久你懂得1024| 色综合久久久久网| 男女男精品视频| www久久精品| 欧美日韩精品专区| 国产精品 日产精品 欧美精品| 亚洲欧洲国产日本综合| 欧美夫妻性生活| 成人综合在线视频| 午夜精品久久一牛影视| 国产午夜精品在线观看| 色999日韩国产欧美一区二区| 免费在线看成人av| 日韩美女久久久| 欧美亚洲国产怡红院影院| 成人毛片在线观看| 奇米精品一区二区三区在线观看 | 日韩不卡免费视频| 国产女主播在线一区二区| 欧美日韩性生活| 性久久久久久久久久久久| 亚洲欧美日韩中文播放 | 激情丁香综合五月| 亚洲一区二区三区在线| 欧美喷水一区二区| 欧美综合亚洲图片综合区| 国产在线精品一区二区不卡了| 亚洲精品ww久久久久久p站| 久久久亚洲精华液精华液精华液| 欧美日韩精品一区二区三区四区| 成人免费福利片| eeuss鲁片一区二区三区在线看| 裸体健美xxxx欧美裸体表演| 一区二区三区在线视频播放| 国产三级一区二区| 精品日韩99亚洲| 欧美一区二区三区色| 欧美二区三区的天堂| 色婷婷香蕉在线一区二区| 菠萝蜜视频在线观看一区| 国产在线精品免费| 国模冰冰炮一区二区| 午夜私人影院久久久久| 视频一区二区三区在线| 亚洲狠狠爱一区二区三区| 日韩久久一区二区| 亚洲欧美在线视频| 欧美国产激情二区三区| 欧美日韩国产在线播放网站| 制服丝袜亚洲精品中文字幕| 欧美精品久久99| 欧美精品在线观看播放| 欧美日本在线观看| 91在线视频免费观看| 欧美日韩一区二区在线视频| 欧美日韩国产首页在线观看| 777a∨成人精品桃花网| 欧美一级专区免费大片| 欧美不卡一二三| 久久久91精品国产一区二区精品 | 91麻豆国产自产在线观看| 国产aⅴ综合色| 国产成人在线看| 成人中文字幕合集| 色呦呦一区二区三区| 欧美日韩在线播放一区| 欧美一区二区三区四区久久| 国产婷婷色一区二区三区在线| 国产欧美一区二区三区在线看蜜臀 | 欧美日韩aaaaaa| 日韩欧美久久一区| 国产午夜精品久久| 亚洲成人综合在线| 国产一区二区福利视频| av影院午夜一区| 欧美调教femdomvk| 欧美日韩高清在线播放|