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

📄 atcmd.c

📁 //直接按照内容执行AT指令:CEN666666#57:AT+CREG? //参数:paraptr=命令代码以后的参数的地址 //返回值:成功1,失败0,同时产生serialmsg消息 //函数
💻 C
字号:
//******************************************************************
//直接按照内容执行AT指令:CEN666666#57:AT+CREG?
//参数:paraptr=命令代码以后的参数的地址
//返回值:成功1,失败0,同时产生serialmsg消息
//函数说明:
//正确时回复短信:执行后AT指令返回的内容
//错误时回复短信:密码错误或命令错误或参数错误
//******************************************************************
bit cen_run_at_cmd(uchar *paraptr)
{
	uchar len=0,mdelay=0;
	paraptr++;//跳过":"
//获取并校验AT指令,控制符除外
	while(isprint(*paraptr+len)) len++;
	*(paraptr+len) = '\r';
	*(paraptr+len+1) = '\0';
	send_string_dir(paraptr,0);
	clear_watchdog();
	while (mdelay<LDELAY)//无应答时最长延时60秒
	{
		if(bufloc(comatbuf,"OK")) break;
		else if(bufloc(comatbuf,"ERROR")) 
		{
			serialmsg = CEN_CMD_ERROR;
			return 0;
		}
		delay_10ms(60);
		clear_watchdog();
		mdelay++;
	}
   	clear_watchdog();
	//执行后AT指令返回内容在comatbuf中,必需复制到短信缓冲区中
	//转换AT指令返回内容中的控制符为空格
	for(len=0;len<strlen(comatbuf);len++)
	{
		comsmsbuf[len] = comatbuf[len];
		if(!isprint(comatbuf[len])) comsmsbuf[len] = 0x20;
	}
	comsmsbuf[strlen(comatbuf)] = 0;
	if(!send_sms_text(srcphone,comsmsbuf))
	{
		errorSMS = 1;
		return 0;
	}
	return 1;
}

//修改工作参数:CEN666666#59:[序号][参数]
bit cen_set_param(uchar *contentptr,uchar *paraptr)//?????
{
	uchar index;
	uchar mmask[2];
	paraptr++;//跳过':'
	index = (*paraptr++ & 0x0f) *10;
	index += (*paraptr++ & 0x0f);
	if(index>1)
	{
		serialmsg = CEN_PARA_ERROR;
		return 0;
	}
	mmask[0] = toint(*paraptr++) * 16 + toint(*paraptr++);
	mmask[1] = toint(*paraptr++) * 16 + toint(*paraptr++);
	FLASH_WriteNByte((uint)&alarm_state_mask,mmask,2);
//	alarm_state_mask
	if(!send_sms_text(srcphone,contentptr))
	{
		errorSMS = 1;
		return 0;
	}
	return 1;
}

//未知短信转发
bit trans_sms_unknow(uchar *paraptr)
{
	if(!send_sms_pdu(center_phoneno,paraptr))
	{
		errorSMS = 1;
		return 0;
	}
	return 1;
}

⌨️ 快捷键说明

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