我正在開發一個將讀取和寫入數據到gsm調制解調器的應用程序。當我關閉調制解調器並再次打開時,在啓動時我需要發送一個AT命令,以便該調制解調器自動設置爲端口給定的設置。當我在超級終端中給出這個命令時,它不會顯示,但命令被髮送到調制解調器。並且調制解調器將自己設置爲我爲超級終端端口設置提供的設置。從那時起我可以發送其餘的命令。但在我的應用程序中,我無法發送第一個AT命令,所以我通過超級終端手動執行。爲什麼這不會通過我的應用程序發生?我也嘗試使用按鈕單擊發送此命令,但仍未在端口上執行。在調制解調器啓動時執行AT命令的問題
port.Open();
port.DtrEnable = true;
port.RtsEnable = true;
if (port != null)
{
btn_connect.Enabled = false;
btn_disconnect.Enabled = true;
port.WriteLine("AT");
port.WriteLine("AT+CLIP=1");
port.WriteLine("AT+CMGF=1");
con_status.Text = "Connected at " + cboPortName.Text;
}
,我在我的應用程序給端口設置包括:
port.PortName = cboPortName.Text;
port.BaudRate = Convert.ToInt32(this.cboBaudRate.Text); //9600
port.DataBits = Convert.ToInt32(this.cboDataBits.Text); //8
port.ReadTimeout = Convert.ToInt32(this.txtReadTimeOut.Text); //300
port.WriteTimeout = Convert.ToInt32(this.txtWriteTimeOut.Text); //300
port.StopBits = StopBits.One; //1
port.Parity = Parity.None; // None
port.Encoding = Encoding.GetEncoding("iso-8859-1");
port.Open();
port.DtrEnable = true;
port.RtsEnable = true;
爲什麼了Thread.Sleep不行? – SMK 2012-07-20 04:59:06
因爲在所有這些命令之前執行thread.sleep(),然後再次執行所有這些命令而沒有時間延遲。 – Cdeez 2012-07-20 05:18:13
什麼是您的GSM模塊的確切數量,天線的阻抗是問題 – 2012-07-26 05:28:40