none
接收 AT Command 傳回的值 RRS feed

  • 問題

  •  

    各位先進好:

     

    我能否寫個函數,發送 AT Command,這個函數並傳回 AT Command 的值?

     

    假設一個函數

    Public Function SendAT(ByVal strAT As String) As String

            SerialPort1.WriteLine(strAT)

    ...

    ...

    ...

    End Function

     

    請問我該如何寫 SendAT 這個 函數才能得到下面的結果?

     

    Dim strAns as String

    strAns = SendAT("AT")

     

     

    strAns 會得到 "OK" 的字串

     

     

     

    目前只知道利用 SerialPort 的 DataReceived 事件來接收傳回的值?

    但是卻不知道這個值要如何丟回傳送 AT Command 的函數(SendAT)?

     

    謝謝

    2008年9月8日 下午 05:01

解答

  • HI,

     

    負責傳送的函數可以用例外處理的方式, 在傳送沒有發生錯誤時傳回OK, 但是沒有辦法傳回接收到的結果內容, 取得接收結果內容應該由另外一個函數來負責處理

     

    tihs

    2008年9月9日 上午 01:57

所有回覆

  • HI,

     

    負責傳送的函數可以用例外處理的方式, 在傳送沒有發生錯誤時傳回OK, 但是沒有辦法傳回接收到的結果內容, 取得接收結果內容應該由另外一個函數來負責處理

     

    tihs

    2008年9月9日 上午 01:57
  • 謝謝 this.

     

    但是最近在研究這方面主題時,有看到一些第三方元件,他們竟然可以呼叫完函數後就傳回接收到的結果內容

    不知道是怎麼做到的?

     

    另外,請問 SerialPort 中的 RtsEnable 屬性是做什麼用的?

     

    因為有些數據機需要將 RtsEnable 設定為 True 才能觸發 SerialPort 的 DataReceived 事件

    可是有些數據機又不用?

     

    請問是什麼原因

     

    謝謝

    2008年9月9日 上午 03:03