2013-07-14 218 views
-1

請看看下面的代碼短信:AT命令出錯?

#pragma once 
using namespace System::IO::Ports; 
using namespace System::Text::RegularExpressions; 
using namespace System::Collections::Generic; 

    ref class SMS 
    { 
    public: 
     SMS(void); 
     void sendMessage(); 

    private: 
     System::IO::Ports::SerialPort ^port; 
    }; 

而且

#include "StdAfx.h" 
#include "SMS.h" 


SMS::SMS(void) 
{ 
    //Initialize the Serial Port 
    port = gcnew System::IO::Ports::SerialPort(); 
    port->PortName = "COM12"; 
    port->BaudRate = 9600; 
    port->Parity = Parity::None; 
    port->DataBits = 8; 
    port->StopBits = StopBits::One; 
    port->Handshake = Handshake::RequestToSend; 
    port->DtrEnable = true; 
    port->RtsEnable = true; 
    port->NewLine = System::Environment::NewLine; 

    if(!port->IsOpen) 
    { 
     port->Open(); 
    } 

    //Set message format 
    port->WriteLine("AT+CMGF=1"); 

    //Turn off echo 
    port->WriteLine("ATE0"); 

    //Set memory configurations 
    port->WriteLine("AT+CPMS=\"ME\",\"ME\",\"ME\""); 





} 


//This method will send the SMS 

void SMS::sendMessage() 
{ 
    if(!port->IsOpen) 
    { 
     port->Open(); 
    } 

    port->WriteLine("AT+CMGS=\"012121212\""); 
    port->WriteLine("Test Message From C#"); 
    port->WriteLine(System::Convert::ToString((char)(26))); 

    port->Close(); 


} 

我想通過訪問加密狗發送短信cpp文件。端口是正確的,加密狗也很好,因爲它在幾個小時前響應了我朋友的密碼。我在這裏做錯了什麼?我用C++/CLI做了什麼不正確的事嗎? AT命令?請幫忙!

回答

0

嘗試在每個AT命令後添加「CR」「LF」(回車和換行字符),一些GSM加密狗(如SIM900)needem才能工作。我希望這有助於 問候

0

如果爲Win32 .. 喜歡使用

HFILE的OpenFile( LPCSTR lpFileName的對象,//指向文件名 LPOFSTRUCT lpReOpenBuff,//指向文件信息緩衝
UINT uStyle //動作和屬性 );

與其他事件,...

如果使用SMS網關與調制解調器AT命令的能力,這是罰款直接讀取和寫入COM端口 當U使用手機,很多這是不行的。例如諾基亞6070,3100模型組

使用超級終端進行最佳測試。

我用CBuildre6爲

https://sites.google.com/site/xpressdms/rosegarden

助威。