none
VB serialport handshake RRS feed

  • 問題

  •  請教各位前輩關於serialport問題,在winform中拉兩個serialport1(擷取硬體資料用),serialport2(傳送給別台電腦用)。
    我的硬體有com1,com2兩個,我想要的功能是,如何做到,不用去煩惱com1是擷取資料用,com2是傳送資料用,或者是com1是擷取資料用,com2是傳送資料用。

    我想到的是只要能夠判斷,serialport1插在哪一個com中,就做的到了。

    小弟資質略淺,不是很懂,若使用Handshake 是否做的到呢?

    SerialPort1.Open()
            SerialPort2.Open()

            Try

                If SerialPort1.Handshake = Ports.Handshake.None Then
                Else
                    SerialPort1.PortName = "COM2"
                    SerialPort1.Open()
                End If
            Catch ex As Exception
                Console.WriteLine("com1_err")
            End Try

            Try
          
                If SerialPort2.Handshake = Ports.Handshake.None Then
                Else
                    SerialPort2.PortName = "COM1"
                    SerialPort2.Open()
                End If
            Catch ex As Exception
                Console.WriteLine("com2_err")
            End Try

    感謝

    • 已移動 Bill ChungMVP, Moderator 2010年1月17日 上午 04:34 應為Visual Basic問題 (從:Visual Studio一般討論區(General))
    2010年1月17日 上午 03:45

解答

  • 你恐怕有點誤解 [SerialPort. Handshake 屬性 ]的用途, 這個屬性你如果不去設定它, 它就是預設值. 它的值可以參考 [Handshake 列舉型別 ]
    它並不會因為你連上什麼設備而自動改變, 還是得去設定它符合那個要連接的設備的Handsharke屬性

    MSDN 文件庫很重要
    問題本身越具體, 越容易得到大家的回應
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    • 已提議為解答 bauannModerator 2010年1月18日 上午 11:29
    • 已標示為解答 Lolota Lee 2010年1月22日 上午 06:49
    2010年1月17日 上午 04:23
    版主

所有回覆

  • 你恐怕有點誤解 [SerialPort. Handshake 屬性 ]的用途, 這個屬性你如果不去設定它, 它就是預設值. 它的值可以參考 [Handshake 列舉型別 ]
    它並不會因為你連上什麼設備而自動改變, 還是得去設定它符合那個要連接的設備的Handsharke屬性

    MSDN 文件庫很重要
    問題本身越具體, 越容易得到大家的回應
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    • 已提議為解答 bauannModerator 2010年1月18日 上午 11:29
    • 已標示為解答 Lolota Lee 2010年1月22日 上午 06:49
    2010年1月17日 上午 04:23
    版主
  • 這個版面有說明討論範圍:
    討論Visual Studio整合開發環境,分享小技巧或各種訣竅

    也就是專門討論 IDE 的操作,而非 SerialPort 的問題。
    你如果要討論 WinCE 的問題,請到:Windows Embedded 專區
    若是要討論 VBNET 的問題,請到:Visual Basic

    不要在這發文上癮了。
    T.L. Cheng
    2010年1月17日 上午 04:26
    版主
  • percy682 您好:

    小弟是想,您有沒有考慮過 對兩個ComPort送用於判別的碼呢

    例如: 資料蒐集 啟始碼:Get  
                            資料傳送    啟始碼:Send

    阿 如果某一個Com有回應啟始碼 OK

    可能就代表他是屬於 資料蒐集或者 資料傳送勒

    不過如果您對應的PC端或者設備端的程式不是您撰寫的
    那可能要看通訊協定才知道了 我覺得


    以上給您參考看看 : D           Max

     糟糕 我的字體顏色大小怎麼變了呢?  XD   
    2010年1月17日 上午 05:42
  • 大大您好

    不好意思,下次我發文會再多注意一點
    2010年1月17日 上午 07:15