Thông báo

Collapse
No announcement yet.

Help...vấn đề lập trình giao tiếp rs232 bằng VB6 (thẻ Key tab RFID)

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Help...vấn đề lập trình giao tiếp rs232 bằng VB6 (thẻ Key tab RFID)

    Mình có 1 mạch RFID 125khz truyền dư liệu lên máy tính thông qua cổng com:
    - Kết nối bằng cổng com thật (vật lý) nhận đc dữ liệu lên thông qua cổng COM1 chương trình viết bằng vb6. Nhưng thẻ (mua) định dạng kiểu gì mà toàn nhận trên vb kí tự lạ: ? Ò É ae Á... không đọc đc... (nghe chỗ bán kêu thẻ chứa số và ký tự ABC)... có ai biết cách đọc chính xác k?

    Cảm ơn mọi người..!

    Đây là code VB:
    Code:
    Private Sub Command1_Click()
    Text1.Text = ""
    End Sub
    
    Private Sub Form_Load()
    Text1.Text = ""
    MSComm1.Settings = "9600,n,8,1"
    MSComm1.CommPort = 1
    MSComm1.RThreshold = 1
    MSComm1.SThreshold = 0
    MSComm1.InputMode = comInputModeText
    MSComm1.PortOpen = True
    MSComm1.InputLen = 0
    End Sub
    
    Private Sub MSComm1_OnComm()
    Dim StringIn As String
    If MSComm1.CommEvent = comEvReceive Then
    StringIn = MSComm1.Input
    Text1.Text = StringIn
    End If
    Dim so_file As Integer
    'hi du lieu vao file
    so_file = FreeFile 
         Open "dulieu.txt" For Output As #so_file
                 Print #so_file, Text1.Text
          Close #so_file
    End Sub

  • #2
    thử bỏ đoạn ct truyền output đi. thử khả năng nhận text từ rfid thôi, sự kiện ngắt ms-oncom này thường không ổn lắm đâu. Hoặc xem định dạng "9600-baud" có phù hợp với thẻ chưa.

    Comment


    • #3
      Nguyên văn bởi okangel Xem bài viết
      Mình có 1 mạch RFID 125khz truyền dư liệu lên máy tính thông qua cổng com:
      - Kết nối bằng cổng com thật (vật lý) nhận đc dữ liệu lên thông qua cổng COM1 chương trình viết bằng vb6. Nhưng thẻ (mua) định dạng kiểu gì mà toàn nhận trên vb kí tự lạ: ? Ò É ae Á... không đọc đc... (nghe chỗ bán kêu thẻ chứa số và ký tự ABC)... có ai biết cách đọc chính xác k?

      Cảm ơn mọi người..!

      Đây là code VB:
      Code:
      Private Sub Command1_Click()
      Text1.Text = ""
      End Sub
      
      Private Sub Form_Load()
      Text1.Text = ""
      MSComm1.Settings = "9600,n,8,1"
      MSComm1.CommPort = 1
      MSComm1.RThreshold = 1
      MSComm1.SThreshold = 0
      MSComm1.InputMode = comInputModeText
      MSComm1.PortOpen = True
      MSComm1.InputLen = 0
      End Sub
      
      Private Sub MSComm1_OnComm()
      Dim StringIn As String
      If MSComm1.CommEvent = comEvReceive Then
      StringIn = MSComm1.Input
      Text1.Text = StringIn
      End If
      Dim so_file As Integer
      'hi du lieu vao file
      so_file = FreeFile 
           Open "dulieu.txt" For Output As #so_file
                   Print #so_file, Text1.Text
            Close #so_file
      End Sub
      Mình cũng mua module rfid 125kHz, mình đem kết nối thẳng zô 8051 mà dữ liệu nhận được chỉ có 3 byte, ko biết bác xử lí ra sao rồi. Bác dùng loại reader rfid nào vậy ?

      Comment


      • #4
        Nguyên văn bởi mo_pnt Xem bài viết
        Mình cũng mua module rfid 125kHz, mình đem kết nối thẳng zô 8051 mà dữ liệu nhận được chỉ có 3 byte, ko biết bác xử lí ra sao rồi. Bác dùng loại reader rfid nào vậy ?
        Đầu đọc thẻ liên tục phát sóng tần số 125KHz. Khi thẻ nằm trong vùng từ trường của đầu đọc. Thẻ sẽ truyền dữ liệu lên đầu đọc. Đầu đọc xử lý dữ liệu và truyền qua đường RS232.Dữ liệu có dịnh dạng:
        Baurate= 9600; Data bits=8; Parity bits= 0; Stop bits= 1
        Nối đường truyền này vào cổng DB9 của máy tính và sử dụng phần mềm thích hợp để đọc dữ liệu từ cổng COM tương ứng, có thể lấy được dữ liệu từ đầu đọc truyền lên. Dưới đây là dữ liệu lấy từ cổng COM1 từ 2 thẻ khác nhau, biểu diễn ở dạng hexa:
        30 31 34 33 36 38 39 34 | 36 30 0D
        30 31 34 33 37 30 30 37 | 36 37 0D

        Dữ liệu gồm 10 bytes và kết thúc bởi kí tự /cr (carriage return) 0x0D

        Đầu đọc thẻ RFID Proximity RS232
        Đây là loại đầu đọc thẻ 125KHz, có chức năng chỉ đọc, giao tiếp qua cổng RS232.
        Phần cổng cắm với thiết bị có dạng cổng USB, có 4 chân , trong đó 2 chân để cấp nguồn cho thiết bị, một chân là chân TX để truyển tín hiệu từ thiết bị lên máy tính. Chân còn lại, RX, nhất thiết phải được nối với chân TX của máy tính, mặc dù thiết bị không nhận dữ liệu từ máy tính. Do vậy một dây nối chuyên dụng, một đầu là cổng USB, đầu kia là cổng DB9 sẽ được sử dụng để nối từ thiết bị vào cổng COM của máy tính.

        Comment


        • #5
          mình cũng gặp đúng trường hợp tương tự! toàn nhận kí tự lạ! mình nghĩ do thạch anh nên nó truyền ko đúng dữ liệu

          Comment


          • #6
            mình cũng gặp đúng trường hợp tương tự! toàn nhận kí tự lạ! mình nghĩ do thạch anh nên nó truyền ko đúng dữ liệu

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X