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

📄 dialphone.cpp

📁 在配置文件中输入手机拨号序列。模拟手机呼叫。com串口编程
💻 CPP
字号:

#include "stdafx.h"
#include "DialPhone.h"
#include "Comm.h"

int gsmSendPhone(char* pSrc)
{
	char cmd[128];		// 命令串
	int ret ;

	sprintf(cmd,"AT+CKPD=\"#31#%s\"\r",pSrc);
	TRACE(cmd);
	ret = WriteComm(cmd, strlen(cmd));	
	

	return 0;
}
int gsmSendDtmf(char* pSrc)
{
	char ans[128];		// 命令串

	sprintf(ans,"AT+VTS=%s\r",pSrc);
	WriteComm(ans, 26);

	sprintf(ans,"AT+VTS=%s\n",pSrc);
	TRACE(ans);
	Sleep(100);
	ReadComm(ans, 128);
	return 0;
}

int gsmSendHungup()
{
	char ans[128];
	WriteComm("ATH\r", 26);
	Sleep(100);
	ReadComm(ans, 128);

	TRACE("ATH\n");
	return 0;
}



// 读取GSM MODEM的应答,可能是一部分
// 输出: pBuff - 接收应答缓冲区
// 返回: GSM MODEM的应答状态, GSM_WAIT/GSM_OK/GSM_ERR
// 备注: 可能需要多次调用才能完成读取一次应答,首次调用时应将pBuff初始化
int gsmGetResponse(SM_BUFF* pBuff)
{
	int nLength;		// 串口收到的数据长度
	int nState;

	// 从串口读数据,追加到缓冲区尾部
	nLength = ReadComm(&pBuff->data[pBuff->len], 128);	
	pBuff->len += nLength;

	// 确定GSM MODEM的应答状态
	nState = GSM_WAIT;
	if ((nLength > 0) && (pBuff->len >= 4))
	{
		if (strstr(pBuff->data, "OK\r\n") != NULL)
			nState = GSM_OK;
		else
			if (strstr(pBuff->data, "+NO CARRIER") != NULL)
				nState = GSM_ERR;
	}
	TRACE(pBuff->data);

	return nState;
}

⌨️ 快捷键说明

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