⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attention.c

📁 使用avr--cc2420模块程序,需要原理图的联系 QQ:120304948
💻 C
📖 第 1 页 / 共 2 页
字号:
    while(nLoop -- > 0)
    {
        wdr();
        g20_sp_sendb(szBuffer);
        timer_delay(1000);    
        bRet = g20_sp_waitfor("+MIPOPEN: 1,1", NULL,"ERROR",NULL,NULL,2000);
        if(bRet)
            return TRUE;
    }
    g20_sp_init_buf();
    nLoop = RETRY_TIMES;
    while(nLoop -- > 0)
    {
        wdr();
        g20_sp_send("AT+MIPOPEN?\r");
        
        bRet = g20_sp_waitfor("+MIPOPEN: 2,3,4", NULL, 
                                "ERROR", "+MIPOPEN: 1,2,3,4", NULL, 2000);
        if(bRet)
            return TRUE;
        timer_delay(1000);    
    }
    return FALSE;
}

unsigned char attention_mipsend(BYTE * pBuf)
{
	//BYTE szBuffer[64];
    unsigned char bRet = FALSE;
//    volatile UINT nLoop = RETRY_TIMES;
    
    //memset((unsigned char*)szBuffer, 0x00, 64);
    //sprintf((unsigned char*)szBuffer, "AT+MIPSEND=1,\"%s\"\r", pBuf);
   
    g20_sp_init_buf();
    
//    while(nLoop -- > 0)
//    {
        wdr();
        g20_sp_send("AT+MIPSEND=1,\"");
        g20_sp_sendb(pBuf);
        g20_sp_send("\"\r");       
                
        bRet = g20_sp_waitfor("+MIPSEND: 1", NULL,"ERROR",NULL,NULL,2000);
        if(bRet)
            return TRUE;
//    }
//    timer_delay(20);    
    return FALSE;
}

unsigned char attention_mippush(void)
{
    BYTE szBuffer[64];
    unsigned char bRet = FALSE;
    volatile UINT nLoop = RETRY_TIMES; 
    
    memset(szBuffer, 0x00, 64);
    g20_sp_init_buf();
	sprintf((unsigned char*)szBuffer, "AT+MIPPUSH=1,\"10.14.81.194\",3700\r");   //10.14.87.161
    while(nLoop -- > 0)
    {
        wdr();
        g20_sp_sendb(szBuffer);
        bRet = g20_sp_waitfor("+MIPPUSH: 0",NULL, "ERROR", NULL, NULL,2000);
        if(bRet)
            return TRUE;            
    }
    
    return FALSE;
}

/*unsigned char attention_mippush(IP_ADDR *pAdd, UINT nPort)
{
    BYTE szBuffer[64];
    unsigned char bRet = FALSE;
    volatile UINT nLoop = RETRY_TIMES;
    
    g20_sp_init_buf();
    memset(szBuffer, 0x00, 64);
    sprintf((unsigned char*)szBuffer, "\"%d.%d.%d.%d\",%d", pAdd->classA,pAdd->classB,pAdd->classC,pAdd->classD, nPort);
    while(nLoop -- > 0)
    {
        wdr();
        g20_sp_send("AT+MIPPUSH=1,");
        g20_sp_sendb(szBuffer);
        g20_sp_send("\r");
        bRet = g20_sp_waitfor("+MIPPUSH: 0",NULL, "ERROR", NULL, NULL,2000);
        if(bRet)
            return TRUE;            
    }
    
    return FALSE;
}*/

unsigned char attention_cmgf()
{
    unsigned char bRet = FALSE;
    volatile UINT nLoop = RETRY_TIMES;
    
    g20_sp_init_buf();
    while(nLoop -- > 0)
    {
        wdr();
        g20_sp_send("AT+CMGF=0\r");
        bRet = g20_sp_waitfor("OK", NULL,"ERROR", NULL, NULL, 2000);
        if(bRet)
            return TRUE;
    }
    return FALSE;
}

void exch_mobilephone(unsigned char nLoop)
{
	memset(bnumber, 0x00, 30);

    switch (nLoop)
	{
	    case 1:
	        bnumber[0]=MobilePhone1[1];
	        bnumber[1]=MobilePhone1[0];
	        bnumber[2]=MobilePhone1[3];
	        bnumber[3]=MobilePhone1[2];
	        bnumber[4]=MobilePhone1[5];
	        bnumber[5]=MobilePhone1[4];
	        bnumber[6]=MobilePhone1[7];
	        bnumber[7]=MobilePhone1[6];
	        bnumber[8]=MobilePhone1[9];
	        bnumber[9]=MobilePhone1[8];
	        bnumber[10]='F';
	        bnumber[11]=MobilePhone1[10];
		    break;
		case 2:
	        bnumber[0]=MobilePhone2[1];
	        bnumber[1]=MobilePhone2[0];
	        bnumber[2]=MobilePhone2[3];
	        bnumber[3]=MobilePhone2[2];
	        bnumber[4]=MobilePhone2[5];
	        bnumber[5]=MobilePhone2[4];
	        bnumber[6]=MobilePhone2[7];
	        bnumber[7]=MobilePhone2[6];
	        bnumber[8]=MobilePhone2[9];
	        bnumber[9]=MobilePhone2[8];
	        bnumber[10]='F';
	        bnumber[11]=MobilePhone2[10];
		    break;
		case 3:
	        bnumber[0]=MobilePhone3[1];
	        bnumber[1]=MobilePhone3[0];
	        bnumber[2]=MobilePhone3[3];
	        bnumber[3]=MobilePhone3[2];
	        bnumber[4]=MobilePhone3[5];
	        bnumber[5]=MobilePhone3[4];
	        bnumber[6]=MobilePhone3[7];
	        bnumber[7]=MobilePhone3[6];
	        bnumber[8]=MobilePhone3[9];
	        bnumber[9]=MobilePhone3[8];
	        bnumber[10]='F';
	        bnumber[11]=MobilePhone3[10];
			break;
	}
}

void unlicode_hex(BYTE * pBuf, unsigned char nLoop)
{
    unsigned char i;

	memset(bnumber, 0x00, 30);
	
	for (i=0;i<nLoop;i++)
	{
		bnumber[i*4+0] = 0x30;	
		bnumber[i*4+1] = 0x30;	
		bnumber[i*4+2] = 0x33;	
		bnumber[i*4+3] = *(pBuf+i) ;
		if (*(pBuf+i)=='.')
		{
			bnumber[i*4+2] = 0x32;	
			bnumber[i*4+3] = 0x45;
		}
		if (*(pBuf+i)==' ')
		{
			bnumber[i*4+2] = 0x32;	
			bnumber[i*4+3] = 0x30;
		}
	}	
}

unsigned char attention_cmgs(unsigned char value,unsigned char alarmNo)
{
    unsigned char bRet = FALSE;
    volatile UINT nLoop = RETRY_TIMES;
//    unsigned char strdata[25];

//    attention_cmgf();
//	delay_ms(1000);
	g20_sp_init_buf();
    while(nLoop -- > 0)
    {
        wdr();
		g20_sp_send("AT+CMGS=143\r");    //5+6+3+1+128=133

		timer_delay(10);
		
//		bRet = g20_sp_waitfor(">", NULL,"ERROR", NULL, NULL, 2000);
//		g20_sp_send("0891683108506405F0  11000D9168  3116218102F4  000800  08 8C228C2200330034");

		g20_sp_send("0891683108506405F011000D9168");  //5

		exch_mobilephone(alarmNo);  //6
		g20_sp_sendb(bnumber);

		g20_sp_send("000800");  //3

		g20_sp_send("80");  //1        //26+18+10+5*2+6+8+5*2+6+4+3*2+8+4+4*2+4=128 (0x80)

        cmgs_no(NAME_NO);   //26
        
		switch (value)
		{
			case 0:
				g20_sp_send("53415206949F51FA5DE18B66621200210021");  //18  /*十分钟出巡警戒!!*/
				break;
			case 1:
				g20_sp_send("4E005C0F65F651FA5DE18B66621200210021");  //18  /*一小时出巡警戒!!*/
				break;
			case 2:
				g20_sp_send("65E5964D96E851FA5DE18B66621200210021");  //18  /*日降雨出巡警戒!!*/
				break;
			case 3:
				g20_sp_send("8FDE7EED964D96E851FA5DE18B6662120021");  //18  /*连续降雨出巡警戒!*/
				break;
			case 4:
				g20_sp_send("53415206949F537160258B66621200210021");  //18  /*十分钟危急警戒!!*/
				break;
			case 5:
				g20_sp_send("4E005C0F65F6537160258B66621200210021");  //18  /*一小时危急警戒!!*/
				break;
			case 6:
				g20_sp_send("65E5964D96E8537160258B66621200210021");  //18  /*日降雨危急警戒!!*/
				break;
			case 7:
				g20_sp_send("8FDE7EED964D96E8537160258B6662120021");  //18  /*连续降雨危急警戒!*/
				break;
		}


		g20_sp_sendb(chEnd);
		timer_delay(50);
		bRet = g20_sp_waitfor("+CMGS:", NULL,"ERROR", NULL, NULL, 2000);
		if(bRet)
		{
			return TRUE;
		}
    }    
	return FALSE;
}

unsigned char attention_init()
{

#if defined (DEBUG_MODE)	
	sp_send("\r\nAT指令初始化\r\n");
#endif 

    if(attention_at() == TRUE)
    {
		if(attention_atz() == TRUE)
		{
			if(attention_ate(ECHO_SWITCH) == TRUE)
			{
				if(attention_cmgf() == TRUE)
				{
					return TRUE;
				}
			}
		}
	}
    return FALSE;
}

/*
unsigned char attention_dialproc()
{
#if defined (DEBUG_MODE)	
	sp_send("\r\nGPRS挂断\r\n");
#endif 
    while(!attention_mipcall(FALSE))
    {
        wdr();
        timer_delay(1000);
    }
#if defined (DEBUG_MODE)	
	sp_send("\r\nGPRS连接\r\n");
#endif 
    while(!attention_mipcall(TRUE))
    {
        wdr();
        timer_delay(1000);
    }
    return TRUE;
}
*/

unsigned char attention_dialproc()
{
#if defined (DEBUG_MODE)	
	sp_send("\r\nGPRS连接\r\n");
#endif 
    call_time = 0;
    while(!attention_mipcall_on())
    {
        wdr();
        timer_delay(500);
        if (call_time >= 1200)     //3000
        {
            return FALSE;
        }
    }
    return TRUE;
}

unsigned char attention_udpproc()
{
#if defined (DEBUG_MODE)	
	sp_send("\r\nUDP连接\r\n");
#endif 
    call_time = 0;
    while(!attention_mipopen())
    {
        wdr();
        timer_delay(500);
        if (call_time >= 1200)     //3000
        {
            return FALSE;
        }
    }
    return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -