none
請求各位專家的幫忙(Serial Communication) RRS feed

  • 問題

  • 小弟要寫一個【兩台PDA藉由藍芽傳輸聊天的程式】設計畫面如下:http://assets.devx.com/articlefigs/17247.jpg

    目前小弟的PDA作業系統是 Windows Mobile 6.0,使用VB2005開發程式

     

    經過電腦部署到PDA後有幾個問題:

    (1)實際測試的結果無法由其中一台PDA傳送文字到另外一台PDA,是因為PDA的port設定有問題嗎,那應該如何設定,程 式碼要如何修改?(小弟查過我使用的PDA內送序列阜是COM5,外送序列阜是COM6)

     

    (2)當部屬成功之後,如果拔掉USB(連接電腦與PDA的傳輸線),就不能再度開啟剛部署到PDA的檔案,這又是什麼原因呢?

     

    (3)每次部署不一定都能成功,會有錯誤顯示:找不到通訊阜,這又是為什麼呢?

     

     

     

    以下是小弟測試的程式碼

    Code Snippet


    Public Class Form1


        Dim WithEvents serialPort As New IO.Ports.SerialPort

     

        Private Sub Form1_Load( _
          ByVal sender As System.Object, _
          ByVal e As System.EventArgs) _
          Handles MyBase.Load
            If serialPort.IsOpen Then
                serialPort.Close()
            End If
            With serialPort
                .PortName = "COM6"
                .BaudRate = 9600
                .Parity = IO.Ports.Parity.None
                .DataBits = 8
                .StopBits = IO.Ports.StopBits.One
            End With
            serialPort.Open()
        End Sub


        Private Sub DataReceived( _
       ByVal sender As Object, _
       ByVal e As System.IO.Ports. _
         SerialDataReceivedEventArgs) _
       Handles serialPort.DataReceived

            txtReceivedMessage. _
            BeginInvoke(New _
               myDelegate(AddressOf _
               updateTextBox), _
               New Object() {})

        End Sub

     

        Public Delegate Sub myDelegate()
        Public Sub updateTextBox()
            txtReceivedMessage.Text = serialPort.ReadExisting & _
               vbCrLf & txtReceivedMessage.Text
        End Sub

     

        Private Sub MenuItem1_Click( _
          ByVal sender As System.Object, _
          ByVal e As System.EventArgs) _
          Handles MenuItem1.Click
            serialPort.WriteLine(txtMessageToSend.Text)
            txtReceivedMessage.Text = ">" & txtMessageToSend.Text & _
                vbCrLf & txtReceivedMessage.Text
            txtMessageToSend.Text = String.Empty
        End Sub

     

    End Class

    Code Snippet

     

     

     

    2008年7月9日 上午 09:06

所有回覆