UartSend(*ptr++,port)
}
voidPrintBuff(U8*ptr,U8port)
{
for(U8bb=0;bb<2;)
{
if(*ptr==0x7e)
{
bb++;
}
UartSend(*ptr++,port);
}
}
voidInitMc35(void)
{
staticS8splus[]="+++\r\n";
staticS8sATH[]="ATH\r\n";
staticS8sATE0V0Q0[]="ATE0V0Q0\r\n";
staticS8sAT_CMGF[]="AT+CMGF=1\r\n";
staticS8sAT_CGDCONT[]="AT+CGDCONT=1,\"IP\",\"gzeunt.gd\"\r\n";
staticS8sATDT[]="ATDT*99***1#\r\n";
/******************************send+++twice**********************************/
Prints(splus,UART0);
Delay(DELAYTIME);
Prints(splus,UART0);
Delay(DEALY1S);
/************************send"ATH",waitMC35answer300D**********************/
do
{
Prints(sATH,UART0);
Delay(DEALY1S);
}while(!
((uart0RevBuff[uart0Count-2]==0x30)&&(uart0_revbuff[uart0_count-1]==0x0D)));
uart0RevBuff[uart0Count-2]=0;
uart0RevBuff[uart0Count-1]=0;
/*********************send"ATE0V0Q0",waitmc35answer300D*******************/
do
{
Prints(sATE0V0Q0,UART0);
Dealy(DELAY1S);
}while(!
((uart0RevBuff[uart0Count-2]==0x30)&&(uart0_revbuff[uart0_count-1]==0x0D)));
uart0RevBuff[uart0Count-2]=0;
uart0RevBuff[uart0Count-1]=0;
/*************setMSMmessageformattoTEXTmodelAT+CMGF=1******************/
do
{
Prints(sAT_CMGF,UART0);
Delay(DEALY1S);
}while(!
((uart0RevBuff[uart0Count-2]==0x30)&&(uart0_revbuff[uart0_count-1]==0x0D)));
uart0RevBuff[uart0Count-2]=0;
uart0RevBuff[uart0Count-1]=0;
/*******************SetAPN"AT+CGDCONT=1,"IP","gzeunt.gd"\r\n"*****************/
do
{
Prints(sAT_CGDCONT,UART0);
Delay(DEALY1S);
}while(!
((uart0RevBuff[uart0Count-2]==0x30)&&(uart0_revbuff[uart0_count-1]==0x0D)));
uart0RevBuff[uart0Count-2]=0;
uart0RevBuff[uart0Count-1]=0;
/*********************setGPRSsevice“ATDT*99***1#”*************************/
do
{
Prints(sATDT,UART0);
Delay(DEALY1S);
}while(!
((uart0RevBuff[uart0Count-2]==0x30)&&(uart0_revbuff[uart0_count-1]==0x0D)));
uart0RevBuff[uart0Count-2]=0;
uart0RevBuff[uart0Count-1]=0;
}
/*****************************transfermeaning*******************************/
/*author:
muyidate:
2004.4.20
*rework:
date:
2004.11.1
*function:
thedatasbetweenthestartandend7enotincludingthestartandendthemselveswhichare0x7e0x7dor<=0x20
*shouldbetransferred.Thesixthbitofthedatashoudbesettoitslogicalopposition;
*example:
bit8bit7bit6bit5bit4bit3bit2bit1
*7e01111110
*ransfer~
*5e01011110
*/
voidTransferMeaning(U8*p_nontransfer,U8len)
{
U8*p_transfer=uart0SendBuff;
*p_transfer=*p_nontransfer;//0x7e
p_nontransfer++;
p_transfer++;
for(;(len-2)>0;len--)
{
if((*p_nontransfer==0x7e)||(*p_nontransfer==0x7d)||(*p_nontransfer<=0x20))
{
*p_transfer=0x7d;
p_transfer++;
*p_transfer=(((*p_nontransfer&0x20)==0x00)?
(*p_nontransfer|0x20):
(*p_nontransfer&0xdf));
}
else
{
*p_transfer=*p_nontransfer;
}
p_transfer++;
p_nontransfer++;
}
*p_transfer=*p_nontransfer;//0x7e;
}
/*************************************crc*************************************/
/*author:
netdate:
2004.10.29
*rework:
muyidate:
2004.11.1
*function:
thisisaCRC16'sarithmeticbycheckingtheconstarrycrctab16[],themain()isfortestonly
*example:
7EFF03C0210806001080FD0105000A12060000000174637E
*thecrcoftheabovepppframeshouldbecaculatefrom0xffto0x01,andthelengthis20.
*IO:
*/
constU16crctab16[]=
{
0x0000,0x1189,0x2312,0x329b,0x4624,0x57ad,0x6536,0x74bf,
0x8c48,0x9dc1,0xaf5a,0xbed3,0xca6c,0xdbe5,0xe97e,0xf8f7,
0x1081,0x0108,0x3393,0x221a,0x56a5,0x472c,0x75b7,0x643e,
0x9cc9,0x8d40,0xbfdb,0xae52,0xdaed,0xcb64,0xf9ff,0xe876,
0x2102,0x308b,0x0210,0x1399,0x6726,0x76af,0x4434,0x55bd,
0xad4a,0xbcc3,0x8e58,0x9fd1,0xeb6e,0xfae7,0xc87c,0xd9f5,
0x3183,0x200a,0x1291,0x0318,0x77a7,0x662e,0x54b5,0x453c,
0xbdcb,0xac42,0x9ed9,0x8f50,0xfbef,0xea66,0xd8fd,0xc974,
0x4204,0x538d,0x6116,0x709f,0x0420,0x15a9,0x2732,0x36bb,
0xce4c,0xdfc5,0xed5e,0xfcd7,0x8868,0x99e1,0xab7a,0xbaf3,
0x5285,0x430c,0x7197,0x601e,0x14a1,0x0528,0x37b3,0x263a,
0xdecd,0xcf44,0xfddf,0xec56,0x98e9,0x8960,0xbbfb,0xaa72,
0x6306,0x728f,0x4014,0x519d,0x2522,0x34ab,0x0630,0x17b9,
0xef4e,0xfec7,0xcc5c,0xddd5,0xa96a,0xb8e3,0x8a78,0x9bf1,
0x7387,0x620e,0x5095,0x411c,0x35a3,0x242a,0x16b1,0x0738,
0xffcf,0xee46,0xdcdd,0xcd54,0xb9eb,0xa862,0x9af9,0x8b70,
0x8408,0x9581,0xa71a,0xb693,0xc22c,0xd3a5,0xe13e,0xf0b7,
0x0840,0x19c9,0x2b52,0x3adb,0x4e64,0x5fed,0x6d76,0x7cff,
0x9489,0x8500,0xb79b,0xa612,0xd2ad,0xc324,0xf1bf,0xe036,
0x18c1,0x0948,0x3bd3,0x2a5a,0x5ee5,0x4f6c,0x7df7,0x6c7e,
0xa50a,0xb483,0x8618,0x9791,0xe32e,0xf2a7,0xc03c,0xd1b5,
0x2942,0