2009-06-12 14 views
2

パテでは簡単にシリアル経由でNokiaの電話でSMSを送信しようとしています。 nokia documentationのコマンドは正常に動作します。シリアルポート経由のノキア電話によるSMS

しかし、C#アプリケーションから同じコマンドを送信しようとすると、悲惨に失敗します。私はSysinternals PortMonを実行しました。コマンドが正常に実行されているのを見ることができます。唯一の違いは接続方法ですが、これらの違いを解消するコマンドを見つけるのは難しいです。

私が実行しているコードは、私は、シリアルポートからのトレースで見ている違いがスタート

0.00001844 aspnet_wp.exe IOCTL_SERIAL_SET_HANDFLOW USBSER001 SUCCESS Shake:1 Replace:43 XonLimit:4096 XoffLimit:4096 

ある少しこの

using (SerialPort port = new SerialPort(comPort, 9600, Parity.None, 8, StopBits.One)) 
      { 
       port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived); 
       port.ErrorReceived += new SerialErrorReceivedEventHandler(port_ErrorReceived); 

       //port.ReceivedBytesThreshold = 1; 
       port.DtrEnable = true; 
       port.RtsEnable = true; 
       port.ReadTimeout = 1; 
       port.Handshake = Handshake.XOnXOff; 


       try 
       { 
        port.Open(); 

        port.WriteLine("AT"); 

        port.WriteLine("AT+CMGF=1"); 

        port.WriteLine("AT+CMGS=\"" + number + "\""); 

        port.WriteLine(message); 

        port.Write(new byte[] { (byte)26 }, 0, 1); 
       } 
       finally 
       { 
        if (port.IsOpen) 
        { 
         port.Close(); 
        } 
       } 

のように見えます

そして最後に

0.00061153 aspnet_wp.exe IOCTL_SERIAL_PURGE USBSER001 SUCCESS Purge: RXABORT RXCLEAR 
0.00004442 aspnet_wp.exe IOCTL_SERIAL_PURGE USBSER001 SUCCESS Purge: TXABORT TXCLEAR 

誰もこれらの問題を解決するためのヒントがありますか?また、私はコマンドが発行されたときに電話がアプリケーションに応答していないことに気づいているので、問題が接続にあり、最後のメッセージではないと思われます。

+0

電話機にハードウェアフロー制御が必要かどうか確認しましたか? – toholio

+0

ハンドシェイクとフロー制御は、私が見ることのできるパテと同じです。明確にするために;シェイク:1交換:43は何が違うのですか?私はそれをどのように変更するか分かりません。 – mjallday

+0

あなたは答えを見つけましたか?私は私の電話からの配達応答を得るために苦労しています... –

答えて

0

メッセージを書き込む前に「>」を待つ必要があります。また、CR/LF(WriteLine)でメッセージを終了しないでください。

1

電話機からシリアル通信を読み取ることができるかどうか確認してください。 「AT」を送信した後、電話は「OK」で応答する必要があります。 SMSビットを使用する前に、シリアル通信が機能していることを確認することをお勧めします。

私が覚えていることは、AT + CMGSの後にメッセージを入力し、その後にctrl-zを続け、改行が必要ないと思います。 WriteLine(メッセージ)をWrite(メッセージ)に変更してみることができますか?

希望すると便利です。

+0

これは間違いなく起こっていません。だから私は問題は、シェイク、それに置き換えているラインだと思います。私はその問題が何であるかを理解しようと努力し続けています。ありがとう。 – mjallday

関連する問題