?? gsm modem開發庫使用手冊.txt
字號:
深圳市威爾西科技開發有限公司
開發包文件:
Mysms.dll(Release 版)
Mysms.lib(Release 版)
開發包版本:
5.0.0.0
開發環境:
MS VC 6.0
Windows9.x/2000/NT
使用環境:
VC、VB、Jave、Delphi 等
VC 開發說明:
// 需要添加以下代碼連接短信息開發庫
#pragma comment(lib,"Mysms.lib")
_declspec(dllexport) BOOL _stdcall InitModem(int comport, int baud);
_declspec(dllexport) BOOL _stdcall SendSms(int comport, int baud, char* sMessage, char*
sSendTo, BOOL bEnglishSm, BOOL bAlertSm, BOOL bSR);
_declspec(dllexport) BOOL _stdcall ReadSms(int comport, int baud, int nIndex, char* sMessage,
char* sFrom, char* sTime, BOOL bDel);
GSM MODEM 開發庫使用手冊
開發包流程示意圖
-1- _declspec(dllexport) BOOL _stdcall Dail(int comport, int baud, char* sTo, char* sFile);
_declspec(dllexport) BOOL _stdcall HangUp(int comport, int baud);
_declspec(dllexport) BOOL _stdcall SendAtCommand(int comport, int baud, char* sCmd, char*
sEcho, int nLen);
_declspec(dllexport) BOOL _stdcall SendWapPush(int comport, int baud, char* strMessage, char*
strUrl, char* strSendTo);
初始化設備
//初始化設備
InitModem(端口號,波特率);
發送信息
SendSms(端口號,波特率,內容,對方號碼,英文信息,免提信息,狀態報告);
SendSms(3, 115200, "hi", "86139*******", FALSE, FALSE))
英文信息可容納160 個英文字母,但不能發送中文。若要發送免提信息,則不能使用英文信
息標志。
讀取信息
ReadSms(int 端口號, int 波特率, int 信息編號, char* 短信內容, char* 對方號碼, char* 接受
時間BOOL 讀取后是否刪除)
信息編號一般取值范圍1-25,一般應用可輪詢前5 條(信息編碼1-5)信息即可
振鈴
Dail(int 端口, int 波特率, char* 對方號碼, char * 音頻文件)
掛機
HangUp(int 端口, int 波特率)
發送AT 指令
SendAtCommand(int 端口,int 波特率,char * AT 指令, char * 返回字符緩沖區, int 緩沖區
長度)
發送WapPush
SendWapPush(int comport, int baud, char* strMessage, char* strUrl, char* strSendTo)
VB 代碼片斷:
Private Declare Function InitModem Lib "Mysms.dll" (ByVal comport As Long, ByVal Baud As
Long) As Boolean
Private Declare Function SendSms Lib "Mysms.dll" (ByVal comport As Long, ByVal Baud As
Long, ByVal sMessage As String, ByVal sTo As String, ByVal bEnglish As Boolean, ByVal bAlert
As Boolean, ByVal bSr As Boolean) As Boolean
發布:
確保Mysms.dll 發布在系統目錄或者當前目錄
-2-
Private Declare Function ReadSms Lib "Mysms.dll" (ByVal comport As Long, ByVal Baud As
Long, ByVal Index As Long, ByVal sMessage As String, ByVal sFrom As String, ByVal bDel As
Boolean) As Boolean
Private Sub Reader_Click()
Dim Port
Dim Baud
Dim iIndex
Dim Result
Dim sMessage As String * 255
Dim sFrom As String * 255
Port = 1
Baud = 115200
iIndex = 3
Result = ReadSms(Port, Baud, iIndex, sMessage, sFrom, False)
MsgBox (sMessage)
End Sub
Private Sub SENDER_Click()
Dim Port
Dim Baud
Dim Result
Port = 1
Baud = 115200
Result = InitModem(Port, Baud)
Result = SendSms(Port, Baud, "你好, VB 調用有DLL 測試", "13651478222", False, False, False)
End Sub
要點:
1、InitModem 函數用來監測和初始化GSM/GPRS MODEM 設備,使之處于正確的工作狀
態,用戶設計程序時在程序初始化時調用此函數檢測和初始化設備即可。
2、串口和GSM/GPRS 設備是串行設備,用戶再多線程/進程中不能同時對一個GSM/GPRS
設備進行操作,必須使用互斥元或者臨界點對GSM/GPRS 設備訪問。
3、本開發庫使用Block(阻塞)操作模式,用戶設計程序時一般須將收發信息函數調用放
入專門的工作線程/進程。
4、Char * 字符緩沖區的使用。本開發庫多處使用char * 字符緩沖區,用戶在調用函數時
需為字符緩沖分配號空間,并清零初始化和賦值。例如:調用SendSms 函數中需要char
* sTo 作為參數之一,則用戶需要首先為sTo 申請足夠大的字符空間,然后為sTo 字符串
賦值,并將sTo 緩沖區的指針作為參數帶入SendSms 函數。
-3-
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -