5

ECHOなどを使用してコマンドライン経由でCOM1シリアルポートに以下を送信しようとしています(serialsendという小さなプログラムもダウンロードしようとしましたが、CTRL+に相当するものを送信する方法に固執していますZ。これはシーメンスTC35GAMモジュールを介したSMSメッセージ。テストとしてハイパーターミナルを介して実行でき、正常に動作しますが、メッセージの目的を確認するために最後にCTRL+を送信する方法がわかりません。Z

これは私が持っているものです:

AT

AT+CMGF=1

AT+CMSG="+xxxxxxxxxxx"

HELLO

さて、送信したいメッセージであるHelloの後に、CTRL+を送信する必要がありますZ。しかし、それを行う方法を理解することはできません、私はこれを試しました:

AT

AT+CMGF=1

AT+CMSG="+xxxxxxxxxxx"

HELLO

\x1A

私が読んだように、これはそれを行うのと同等であるとのことでしたが、うまくいきませんでした。

誰かがこれを手伝ってくれますか?私は解決策を見つけましたが、それらは私が必要としているコマンドラインではありません。

私もこのフォーマットを使ってみました:

ECHO AT > COM1:

しかし、送信方法がわからないのでCTRL+それが機能しているかどうかZわかりません。

4

3 に答える 3

4

あなたが言及した無料のコマンドラインプログラムSerialSendを書きました。この質問は最初に投稿されたので、シリアル ポート経由で送信するテキストに任意のバイト値を (16 進形式で) 含めることができる機能を追加しました。たとえば、Ctrl-Z (10 進数で 26、16 進数で 0x1A) を送信するには、次のコマンドを使用します。

SerialSend /hex "\x1a"

ポート名/番号、ボーレートなどは、追加のコマンド ライン引数で構成できます。例えば、

SerialSend /baudrate 9600 /devnum 2 /hex "\x1a"

詳細については、SerialSend ホームページ を参照してください

それが役立つことを願っています!

テッド

于 2013-04-24T21:38:42.060 に答える
3

これを使って:

port.Write(txt_msgbox.Text + char.ConvertFromUtf32(26));

できます :)

于 2012-07-20T12:58:09.467 に答える