程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#開發終端式短信的原理和方法(7)

C#開發終端式短信的原理和方法(7)

編輯:關於C語言

步驟六、添加串口初始化代碼,如下:

/// <summary>
/// 初始化串口
/// </summary>
public bool InitCom(string m_port, int m_baudrate)
{
 ss_port.PortNum = m_port;//串口號
 ss_port.BaudRate = m_baudrate;//波特率
 ss_port.ByteSize = 8;//數據位
 ss_port.Parity = 0;//
 ss_port.StopBits = 1;//停止位
 ss_port.ReadTimeout = 1000;//讀超時
 try
 {
  if (ss_port.Opened)
  {
   ss_port.Close();
   ss_port.Open();
  }
  else
  {
   ss_port.Open();//打開串口
  }
  return true;
 }
 catch(Exception e)
 {
  MessageBox.Show("錯誤:" + e.Message);
  return false;
 }
}

將上述代碼直接拷入你的程序中,並確保添加在Main主函數的後面,按F5,調試應該沒什麼問題,不過上面還沒有實際任何看得見的功能,僅僅是打開了串口而以。

步驟七、打開串口後,我們就應該初始化程序,取得手機的名牌,型號,以及短信中心號,雙擊連接按鈕,並把下面代碼拷入程序中:

/// <summary>
/// 初始化代碼,並獲取手機相關信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnConnect_Click(object sender, System.EventArgs e)
{
 bool opened = InitCom(ConnectPort.SelectedItem.ToString(),Convert.ToInt32(ConnectBaudRate.SelectedItem.ToString()));//打開並初始化串口
 bool Connected = false;
 if (opened)
 {
  ss_port.Write(Encoding.ASCII.GetBytes("AT+CGMI\r")); //獲取手機品牌
  string response = Encoding.ASCII.GetString(ss_port.Read(128));
  if (response.Length > 0)
  {
   ConnectState.Text = response.Substring(10,7);
   Connected = true;
  }
  else
  {
   ConnectState.Text = "與手機連接不成功";
   Connected = false;
  }
  ss_port.Write(Encoding.ASCII.GetBytes("AT+CGMM\r"));//獲取手機型號
  response = Encoding.ASCII.GetString(ss_port.Read(128));
  if(response.Length > 0)
  {
   ConnectState.Text =ConnectState.Text+ " " + response.Substring(10,5) + " 連接中......";
   Connected = true;
  }
  else
  {
   ConnectState.Text = "與手機連接不成功";
   Connected = false;
  }
  ss_port.Write(Encoding.ASCII.GetBytes("AT+CSCA?\r"));//獲取手機短信中心號
  response = Encoding.ASCII.GetString(ss_port.Read(128));
  if(response.Length > 0)
  {
   CenterNumber.Text = response.Substring(20,13);
   Connected = true;
  }
  else
  {
   Connected = false;
  }
  if (Connected == true)
  {
   btnConnect.Enabled = false;
   btnSend.Enabled = true;
  }
  else
  {
   btnConnect.Enabled = true;
   btnSend.Enabled = false;
  }
 }
}

到這裡,你可以按F5,編譯調試,通過,在確保你的手機與電腦連接正常下,點擊連接按鈕看看,是不是像我的一樣,手機型號及短信中心號者正常顯示出來了。

圖四、連接後程序界面

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved