?? at_commands.txt
字號:
/*****************************************************************************
* GSM SMS Routines .h file
*
* ReWriten by Menghongwen@
*
* Dec., 2004 copyright YINHUA Technology, all right reserved
\****************************************************************************/
#ifndef __CBCOMM_H
#define __CBCOMM_H
#include
#define __GSMCOMMINBUFFSIZE 4096
/*
#define NOPARITY 0
#define ODDPARITY 1
#define EVENPARITY 2
#define MARKPARITY 3
#define SPACEPARITY 4
#define ONESTOPBIT 0
#define ONE5STOPBITS 1
#define TWOSTOPBITS 2
*/
class TRS232Comm {
HANDLE hComm;
public:
TRS232Comm();
bool OpenComm(const char* pPort, int nBaudRate=9600, int nParity=NOPARITY, int nByteSize=8, int nStopBits=ONESTOPBIT);
bool CloseComm();
int WriteComm(void* pData, int nLength);
int ReadComm(void* pData, int nLength);
};
#endif
# /*****************************************************************************
# * GSM SMS Routines
# *
# * ReWriten by Menghongwen@<menghongwen@smmail.cn>
# *
# * Dec., 2004 copyright YINHUA Technology, all right reserved
# \****************************************************************************/
#
# #include "cbComm.h"
#
#
# TRS232Comm::TRS232Comm()
# {
# hComm = NULL;
# }
# //---------------------------------------------------------------------------
# // 打開串口
# // pPort: 串口名稱或設備路徑,可用"COM1"或"\\.\COM1"兩種方式,建議用后者
# // nBaudRate: 波特率
# // nParity: 奇偶校驗
# // nByteSize: 數據字節寬度
# // nStopBits: 停止位
# //---------------------------------------------------------------------------
# bool TRS232Comm::OpenComm(const char* pPort, int nBaudRate, int nParity, int nByteSize, int nStopBits)
# {
# DCB dcb; // 串口控制塊
#
# COMMTIMEOUTS timeouts = { // 串口超時控制參數
# 100, // 讀字符間隔超時時間: 100 ms
# 2, // 讀操作時每字符的時間: 1 ms (n個字符總共為n ms)
# 500, // 基本的(額外的)讀超時時間: 500 ms
# 1, // 寫操作時每字符的時間: 1 ms (n個字符總共為n ms)
# 100}; // 基本的(額外的)寫超時時間: 100 ms
#
# hComm = CreateFile(pPort, // 串口名稱或設備路徑
# GENERIC_READ | GENERIC_WRITE, // 讀寫方式
# 0, // 共享方式:獨占
# NULL, // 默認的安全描述符
# OPEN_EXISTING, // 創建方式
# 0, // 不需設置文件屬性
# NULL); // 不需參照模板文件
#
# if(hComm == INVALID_HANDLE_VALUE) return false; // 打開串口失敗
#
# GetCommState(hComm, &dcb); // 取DCB
#
# dcb.BaudRate = nBaudRate;
# dcb.ByteSize = nByteSize;
# dcb.Parity = nParity;
# dcb.StopBits = nStopBits;
#
# SetCommState(hComm, &dcb); // 設置DCB
#
# SetupComm(hComm, 4096, __GSMCOMMINBUFFSIZE); // 設置輸入輸出緩沖區大小 4090, 1024
#
# ::SetCommTimeouts(hComm, &timeouts); // 設置超時
#
# return true;
# }
#
# //---------------------------------------------------------------------------
# bool TRS232Comm::CloseComm()
# {
# if(hComm) return CloseHandle(hComm);
# return false;
# }
# //---------------------------------------------------------------------------
# // 寫串口
# // pData: 待寫的數據緩沖區指針
# // nLength: 待寫的數據長度
# int TRS232Comm::WriteComm(void* pData, int nLength)
# {
# DWORD dwNumWrite=0L;
# if(hComm) WriteFile(hComm, pData, (DWORD)nLength, &dwNumWrite, NULL);
# return dwNumWrite;
# }
# //---------------------------------------------------------------------------
# // 讀串口
# // pData: 待讀的數據緩沖區指針
# // nLength: 待讀的最大數據長度
# // 返回: 實際讀入的數據長度
# int TRS232Comm::ReadComm(void* pData, int nLength)
# {
# DWORD dwNumRead = 0L;
# if(hComm) ReadFile(hComm, pData, (DWORD)nLength, &dwNumRead, NULL);
# return (int)dwNumRead;
# }
# //---------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -