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

📄 接收命令后动作.txt

📁 用 C++作的无线CPU Q2406控制 接收SMS短信命令,执行命令的动作,并可以 发送采集的数据.
💻 TXT
字号:
/*********************************
接收到动作命令后,根据命令动作
***************************/
#include "adl_global.h"
#include "keyboard.h"
#define KEY_NONE  0XFF
#include  "wm_stdio.h"

/***************************************************************************/
u32 wm_apmCustomStack [ 512 ];
const u16 wm_apmCustomStackSize = sizeof ( wm_apmCustomStack );

key_Handler_f key_Handler;
bool bFirst=TRUE;
adl_tmr_t  *tRepeat;
u32 key_RepeatTickTime;
u32 key_RepeatTickDelay;
bool keyUnsoHandler(adl_atUnsolicited_t  *paras);
void keyTimeHandler(u8 ID);
static s8 io;
s8  smsHandler;
u16 keyz;
bool smsRecieve;
ascii simNo[20];//="13785279829";
ascii simText[70];//="jiydgtwho111";

/*******************************************************************************/

void keySubscribe(key_Handler_f keyHdlr,u32 RepeatTickTime,u32 RepeatTickDelay)
{
	key_Handler = keyHdlr;
	key_RepeatTickTime = RepeatTickTime ? RepeatTickTime : 1;
	key_RepeatTickDelay = RepeatTickDelay;
	if(bFirst)
	{
		bFirst = FALSE;
		adl_atCmdCreate("AT+CMER=,1",FALSE,(adl_atRspHandler_t)NULL,NULL);
		adl_atUnSoSubscribe("+CKEV:",keyUnsoHandler);
	}
}

void keyTimerHandler(u8 Id)
{
	tRepeat = adl_tmrSubscribe(FALSE,key_RepeatTickTime,ADL_TMR_TYPE_TICK,keyTimerHandler);
	keyUnsoHandler((adl_atUnsolicited_t *)NULL);
}

bool keyUnsoHandler(adl_atUnsolicited_t *paras)
{
	u8		iKey = KEY_NONE,iPressed = 1;
	ascii	IBuffer[3];
	static	u8	iPressedKey = KEY_NONE;
	if(paras)
	{
		iKey = wm_atoi(wm_strGetParameterString(IBuffer,paras->StrData,1));
		iPressed = wm_atoi(wm_strGetParameterString(IBuffer,paras->StrData,2));
	}
	if(iPressed)
	{
		if(iKey != KEY_NONE)
			{
				iPressedKey = iKey;
				if(key_RepeatTickDelay)
				{
					tRepeat = adl_tmrSubscribe(FALSE,key_RepeatTickDelay,ADL_TMR_TYPE_TICK,keyTimerHandler);
				}
			}
		if(key_Handler)
		{
			key_Handler(iPressedKey,iPressed);
		}
	}
	else
	{
		adl_tmrUnSubscribe(tRepeat,keyTimerHandler,ADL_TMR_TYPE_TICK);
		tRepeat = (adl_tmr_t*)NULL;
		if(key_Handler)
		{
			key_Handler(iPressedKey,iPressed);
		}
		iPressedKey = KEY_NONE;
	}
	return TRUE;
}

void SmsCtrlHandle(u8 Event, u16 Nb)
{
    ;
}
/*********************************
消息内容处理
*********************************/
void smsTextHandle(ascii *textStr)
{
	if(wm_strncmp(textStr,"&111",4)==0)adl_atSendResponse ( ADL_AT_UNS, "\r\nreciv00424\r\n" ); 
    
	adl_atSendResponse ( ADL_AT_UNS, "\r\nOVER\r\n" );
	smsRecieve=FALSE;
}
/*************************************
//接收后发送消息
*************************************/
bool SmsHandle(ascii *SmsTel, ascii *SmsTimeOrLength, ascii *SmsText)
{
	simNo[0]='\0';
	simText[0]='\0';
	if(SmsText[0]=='&')
	{wm_strcat(simNo,SmsTel);
	 wm_strcat(simText,SmsText);
     adl_atSendResponse(ADL_AT_UNS,simText);
     smsTextHandle(simText);
    }
    //adl_smsSend(smsHandler,SmsTel,SmsText,ADL_SMS_MODE_TEXT);
}
/*************************************************
bool smsSendHandle(ascii *SmsTel, ascii *SmsText) //按键控制发送处理函数 
 {
    SmsTel=simNo;
    SmsText=simText;
    adl_atSendResponse(ADL_AT_UNS,SmsTel);
    adl_atSendResponse(ADL_AT_UNS,"\r\n");
	adl_atSendResponse(ADL_AT_UNS,SmsText);
	adl_atSendResponse(ADL_AT_UNS,"\r\n");
    adl_smsSend(smsHandler,SmsTel,SmsText,ADL_SMS_MODE_TEXT);//发送消息
	
}****************************************************/
void  dk_KeyboardHandler(u8 Key,u8 Pressed)
{  
	u8 i;
  // adl_tmrSubscribe(FALSE,1,ADL_TMR_TYPE_100MS,TimerHandler);
   for(i=245;i>0;i--);
   for(i=245;i>0;i--);
   for(i=245;i>0;i--);
   for(i=245;i>0;i--);
  keyz=Key;
if(keyz==0x00)
  {
   adl_atSendResponse(ADL_AT_UNS,"\r\nAAA\r\n");
    //smsSendHandle(simNo,simText);
   
}
if(keyz==0x01)
  {
   adl_atSendResponse(ADL_AT_UNS,"\r\nBBB\r\n");
   
}

  keyz=0;
keySubscribe(dk_KeyboardHandler,0,0);
}


/***************************************************************************
/*  Function   : adl_main                                                  

/***************************************************************************/
void adl_main ( adl_InitType_e InitType )
{
    TRACE (( 1, "Embedded Application : Main" ));
	io=0;
	smsRecieve=FALSE;
    adl_atSendResponse(ADL_AT_UNS,"\r\nmainbbb\r\n");
    keySubscribe(dk_KeyboardHandler,0,0);
    io=adl_ioSubscribe(ADL_IO_Q24PLUS_GPO_2,0,0,0,NULL);
	smsHandler=adl_smsSubscribe(SmsHandle,SmsCtrlHandle,ADL_SMS_MODE_TEXT);
	
}

⌨️ 快捷键说明

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