0

次のコードを見てください。

#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;
    };

そしてcppファイル

#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();


}

ドングルにアクセスして SMS を送信しようとしています。数時間前に友人のコードに応答したため、ポートは正しく、ドングルも問題ありません。ここで何が間違っていますか?C++/CLI で間違ったことをしましたか? ATコマンド?

4

2 に答える 2

0

win32の場合、..使用することを好む

HFILE OpenFile( LPCSTR lpFileName, // ファイル名へのポインタ LPOSTRUCT lpReOpenBuff, // ファイル情報のバッファへのポインタ
UINT uStyle // アクションと属性 );

他のイベントと...

モデム AT コマンド機能を備えた SMS ゲートウェイを使用している場合、COM ポートへの直接の読み取りと書き込みには問題ありませんが、携帯電話を使用している場合、これらの多くは機能しません。例 nokia 6070、3100 モデル グループ

ハイパーターミナルを使用してテストするのが最善です。

CBuildre6を使用しました

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

歓声。

于 2013-09-04T00:58:41.377 に答える