Thông báo

Collapse
No announcement yet.

Giao tiếp RS232 trên PC bằng Visual Basic 6.0

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #46
    Giao tiếp RS232 trên PC bằng VB 6.0

    Nguyên văn bởi anfa Xem bài viết
    MScomm1.SThreshold là tham số cài đặt ngắt truyền của cổng com. Dặt =0 có nghĩa là không có ngắt xảy ra khi truyền tin từ máy tính. VD đặt =10 có nghĩa khi phần cứng máy tính gửi đi được 10 byte thì nó sẽ phát sinh một tín hiệu ngắt. Tín hiệu ngắt này được nhận biết trong sự kiện Oncom.
    Vậy MScomm1.SThreshold có giống như Stop bit trong phần này không?
    Communication Settings:
    Baud rate: 9600 bps
    Parrity: None
    Stop bit: 2 bits
    Data length: 8 bits
    Handshake: None

    Cám ơn các Bác đã lập ra đề tải này

    Comment


    • #47
      Nguyên văn bởi mrcuongcon Xem bài viết
      Em có dùng bộ chuyển đổi RS485-RS232 để giao tiếp với máy tính, nhưng con Max485 lại có 1 chân điều khiển đường truyền(Transmitt or Receive). Vậy làm sao để có thể điều khiển được chân này từ máy tính? Theo như em biết có thể dùng chân RTS của cổng com, nhưng em không biết tác động đến chân này bằng cách nào.
      Hình như nó là thuộc tính RTSEnable của điều khiển MSComm.

      Comment


      • #48
        Property RThreshold As Integer
        Sets/returns the number of characters to receive.

        RThreshold là một thuộc tính của điểu khiển MSComm, có kiểu dữ liệu là Integer.
        Đặt/trả về số lượng ký tự để nhận. Theo tôi hiểu là số lượng ký tự trong bộ đệm nhận để gây ra ngắt.

        Stop bit không liên quan ở đây.

        Comment


        • #49
          Nguyên văn bởi ngohaibac Xem bài viết
          Chào các bạn.

          Code:
          Private Sub cmdSend_Click()
              MSComm1.Output = Text2.Text
          End Sub
          
          Private Sub Form_Load()
              cmdSend.Caption = "&Send"
              Text1.Text = ""
              Text2.Text = ""
              Text1.Enabled = False
              cmdExit.Caption = "&Exit"
              With MSComm1
                  .Settings = "9600,N,8,1"
                  .CommPort = 1
                  .RThreshold = 1
                  .SThreshold = 0
                  .InputMode = comInputModeText
                  .InputLen = 0
                  .Handshaking = comNone
                  .InBufferSize = 1024
                  .OutBufferSize = 1024
                  If .PortOpen = False Then
                    .PortOpen = True
                  End If
                   
              End With
          End Sub
          
          Private Sub MSComm1_OnComm()
              Dim Buffer As Variant
              If MSComm1.CommEvent = comEvReceive Then
                  Text1.Text = Text1.Text + MSComm1.Input
              End If
          End Sub
          Chúc bạn thành công.
          Chào anh !
          Cái MSComm1 mình không phải khai báo à! Trong VB đã định nghĩa sẵn cái này là dành cho cổng COM1 ahf???
          Thank!
          .: Lê Tiến Mạnh :.
          Phone number : 0989 735 804
          YM,Skype,mail : [leemanhj916]@gmail.com

          Comment


          • #50
            Bạn fải add cái MSComm1 vào, có thể tao 1 cái ComboBOX cho phép chọn nhiều COM (ví dụ từ COM1 -> COM5).
            Phone: 0909319477
            Email:

            Comment


            • #51
              Nguyên văn bởi KnowMore Xem bài viết
              Hình như nó là thuộc tính RTSEnable của điều khiển MSComm.
              "
              RTSEnable: quêt dZnh khi nào cho phép dX_ng Request To Send (RTS),
              Tín hieu RTS th máy tính t@i modem de yêu câu dXYc tryên dv lieu. Khi
              RTSEnable = true thì dX_ng RTS m
              c cao khi cong mD, tích m
              c thâp khi
              cong dóng. Và hien nhiên khi RTSEnable thì dX_ng RTS luôn m
              c thâp.RTS
              dùng trong RTS/CTS hardware handshaking. RTSEnable cho phép bn dò
              dX_ng RTS khi cân biêt tình trng ca dX_ng này. Các tính chât trên không
              có lúc thiêt kê giao dien mà chd có lúc chy chX|ng trình ( dùng trong viêt
              code)."
              Đó là nguyên mẫu mình kiếm đc 1 tài liệu trên mạng, chẳng hiểu lắm vì như thế sao có thể tác động vào chân RTS theo ý mình dc chứ.

              Comment


              • #52
                thanks bác nhiều nhen cho mình cop' cái bài nỳ
                Diễn đàn Teen Quy Nhơn

                Comment


                • #53
                  Bác nào biết giúp cho em với đang viết cái giao diện VB mà không hiểu:
                  MSComm1.Output = Text1.Count
                  Câu lệnh này có phải send dữ liệu dạng số xuống cổng com không,và khi nào dùng :count , text

                  Comment


                  • #54
                    mscomm.output=Text1.text ->gửi toàn bộ chuỗi String trong Text1 xuống Serial Port
                    mscomm.output=Text1.Count ->không rõ ý đồ của lệnh này nhưng dữ liệu gửi đi là dạng interger thể hiện số kí tự có trong Text1.Text1.Count ->đếm số kí tự có trong Text1

                    Comment


                    • #55
                      Cách thiết lập protocol trong VB

                      Cám ơn mấy anh. Cũng nhờ các anh em đã truyền được dữ liệu dạng text từ PC đến PC qua modem dialup 56kps.
                      Nhưng em gặp rắc rối ở vấn đề truyền file. Cái em cần biết là chọn giao thức để truyền.
                      Cho em hỏi xí trong VB có hỗ trợ sẵn các giao thức này không (Như Xmodem,Ymodem,Kermit...)
                      hay chúng ta phải viết code theo giải thuật của nó?
                      Nếu có xin các anh chỉ giúp em với. Ah nếu được các anh có code cho em xin để tham khảo thêm ha.
                      Xin chân thành cám ơn các anh.

                      Comment


                      • #56
                        Có thể giao thức thì em đã tìm được rồi. Nhưng em còn một thắc mắc nhỏ nữa
                        Về CODE của cái nút SEND ah. Em đã có đường dẫn của file cần send rồi. Nhưng nếu đưa nguyên đường dẫn đó ra output thì không đúng.
                        Mấy anh biết góp ý cho em nha. Để em tìm hiểu thêm ah.
                        Em cám ơn.

                        Comment


                        • #57
                          mình đang lập trình vb choi chut xiu mà không hiểu sao:
                          trên vb hiện lên ký tụ kỳ lạ:
                          Private Sub CLEAR_Click()
                          TRANSMIT = ""
                          RECEIVER = ""
                          End Sub



                          Private Sub EXIT_Click()
                          MSComm1.PortOpen = False
                          End
                          End Sub

                          Private Sub Form_Load()
                          MSComm1.Settings = "9600,n,8,1"
                          MSComm1.CommPort = 1
                          MSComm1.RThreshold = 1
                          MSComm1.SThreshold = 0
                          MSComm1.PortOpen = True
                          MSComm1.InputLen = 0
                          End Sub

                          Private Sub MSComm1_OnComm()
                          'Dim Buffer As Variant
                          'If (MSComm1.CommEvent = comEvReceive) Then
                          'MSComm1.InputLen = 0
                          'RECEIVER.Text = ""
                          'RECEIVER.Text = RECEIVER.Text + MSComm1.Input
                          '/////////
                          Dim StringIn As String
                          If MSComm1.CommEvent = comEvReceive Then
                          StringIn = MSComm1.Input 'Nhan chuoi du lieu to VCOM
                          RECEIVER.Text = StringIn
                          End If
                          End Sub

                          Private Sub SEND_Click()
                          Dim txt As String
                          txt = TRANSMIT.Text
                          MSComm1.Output = txt
                          TRANSMIT = " "

                          End Sub

                          'gui 1 ky tu tu ban phim


                          Private Sub SEND_KeyPress(KeyAscii As Integer)
                          Dim Buffer As Variant
                          MSComm1.CommPort = 1
                          MSComm1.PortOpen = True
                          Buffer = Chr$(KeyAscii)
                          'MSComm1.Output = Buffer
                          End Sub
                          ở pic minh dùng lệnh printf( "! THAT\r");
                          vậy mà trên vb nhận được kết quả: i’Ì

                          có ai biết chứng bệnh lạ này xin chỉ giáo để mở rộng tầm mắt ! mình mới làm thử nên không rành lắm
                          cố lên anh em.

                          Comment


                          • #58
                            Có thể là do dấu "" bạn à. Bạn gõ lại dấu nháy trên VB xem. Khi copy cái dấu "" thường bị thay đổi !!!

                            Comment


                            • #59
                              Các anh làm ơn giúp em với ạ
                              Em đang phải lập trình để truyền và nhận dữ liệu qua cổng RS232
                              Phần cứng của em gồm 1 barrier, 1 máy in Barcode và 1 đầu đọc barcode. Cả 3 cái này đều được kết nối với bộ điều khiển Icon100. Bộ đk icon100 này lại được kết nối với cổng RS232
                              Em ko biết phải lập trình VB6 như thế nào
                              Xin các anh chỉ giáo
                              Cảm ơn các anh nhiều!!!

                              Comment


                              • #60
                                Vb6

                                em Chào bác!!!
                                Bác có thể hướng dẫn em cách đọc dữ liệu từ cổng COM và em hiển thị giá trị đó trên visua Basic 6 được không ạ?

                                Em cám ơn bác nhiều

                                Comment

                                Về tác giả

                                Collapse

                                ngohaibac Tìm hiểu thêm về ngohaibac

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X