GSM デバイスを使用して SMS メッセージを読み書きする小さなプログラムをコーディングしました。私のコードは、ある種類のデバイスで問題なく動作しました。今日、私は別のデバイスを使用していますが、私のプログラムはそのデバイスから受信できません (ただし、送信することはできます)。デバイスは、puTTY の下で同じ構成で問題なく動作します。
private void Form1_Load(object sender, EventArgs e)
{
Variables.sp.PortName = "COM1";
Variables.sp.BaudRate = 9600;
Variables.sp.DataBits = 8;
Variables.sp.Parity = Parity.None;
Variables.sp.StopBits = StopBits.One;
Variables.sp.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
try
{
Variables.sp.Open();
Variables.sp.WriteLine("AT\r");
//Variables.sp.WriteLine("AT+CMGF=1\r");
}
catch
{
MessageBox.Show("Can't open COM1. Quit and try again.");
}
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
MessageBox.Show(indata);
}
あるデバイスでは正常に機能し、他のデバイスでは機能しない理由は何ですか? puTTY で同じコマンドを入力していますが、どちらも同じように動作しますか?