message.cpp
来自「串口通讯的编程源码。很有参考价值!值得一看」· C++ 代码 · 共 90 行
CPP
90 行
// Message.cpp : implementation file
//
#include "stdafx.h"
#include "SerTest.h"
#include "Message.h"
#include "stdlib.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMessage dialog
extern WCHAR unibuf[128];
extern HANDLE hwriteevent;
extern int lenth;
CMessage::CMessage(CWnd* pParent /*=NULL*/)
: CDialog(CMessage::IDD, pParent)
{
//{{AFX_DATA_INIT(CMessage)
m_Input = _T("");
//}}AFX_DATA_INIT
}
void CMessage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMessage)
DDX_Text(pDX, IDC_INPUT, m_Input);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMessage, CDialog)
//{{AFX_MSG_MAP(CMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMessage message handlers
void CMessage::OnOK()
{
// TODO: Add extra validation here
CString str;
GetDlgItemText(IDC_INPUT,str);
memset(unibuf,0,128*2);
wcscpy(unibuf,L"AT+CMGF=1\r\n");
lenth=strlen("AT+CMGF=1\r\n")+1;
::SetEvent(hwriteevent);
Sleep(500);
memset(unibuf,0,128*2);
wcscpy(unibuf,L"AT+CMGS=\"13512413972\"\r\n");
lenth=strlen("AT+CMGS=\"13022297099\"\r\n");
::SetEvent(hwriteevent);
Sleep(500);
int mylenth=wcslen(str);
WCHAR* tem=new WCHAR[4*mylenth+4];
memset(tem,0,lenth*4*sizeof(WCHAR));
for(int i=0,int j=0;i<mylenth,j<4*mylenth;i++,j+=4)
{
_itow((int)((str.GetAt(i)>>12)&(0x000f)),&tem[j],16);
_itow((int)((str.GetAt(i)>>8)&(0x000f)),&tem[j+1],16);
_itow((int)((str.GetAt(i)>>4)&(0x000f)),&tem[j+2],16);
_itow((int)((str.GetAt(i)>>0)&(0x000f)),&tem[j+3],16);
}
tem[j]=26;
tem[j+1]=0;
tem[j+2]=0;
tem[j+3]=0;
memset(unibuf,0,128*2);
wcscpy(unibuf,tem);
lenth=wcslen(unibuf);
::SetEvent(hwriteevent);
delete []tem;
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?