Cần giúp đỡ về việc đọc dữ liệu từ cổng COM

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • tucn87
    Nhập môn đệ tử
    • Apr 2009
    • 10

    #1

    Cần giúp đỡ về việc đọc dữ liệu từ cổng COM

    xin chào! em đang viết 1 chương trình nhẫn dữ liệu từ cổng COM bằng VC++ 6. em gặp phải vấn đề là: độ dài dữ liệu từ cổng COM mỗi lần không giống nhau(dao động từ 11 đến 15 kí tự)
    em đặt: m_mscomm1.SetRThreshold (15); như vậy, khi có đủ 15 kí tự thì OK nhưng khi dữ liệu ở cổng COM nhỏ hơn 15 kí tự thì chương trình không nhận được.

    Giúp em với, em cảm ơn!
  • tucn87
    Nhập môn đệ tử
    • Apr 2009
    • 10

    #2
    "RthresHold: dạng object.RthresHold [=value], value kiểu nguyên. Thiết lập số kí tự nhận được trước khi gây sự kiên comEvReceive. Mặc định = 0 tức là không có sự kiện OnComm khi nhận được dữ liệu. Thiết lập =1 tức là sự kiện OnComm xảy ra khi có bất kì kí tự nào được chuyển đến bộ đệm nhận."

    Như vậy thì để khắc phục việc độ dài dữ liệu không biết trước thì phải làm như thế nào?
    Nếu thiết lập = 1 thì em thấy rằng bị mất dữ liệu.

    Comment

    • nghia_tdh21
      Đệ tử 3 túi
      • Oct 2006
      • 46

      #3
      bạn đặt SetRThreshold=1, sau đó bạn cấu trúc chuỗi bạn truyền đi theo dạng:|start of text|nội dung chuỗi|end of text|. Khi nào gặp |end of text| thì không nhận nữa sau đó lọc |start of text| và |end of text| ra. Bạn có thể tra |start of text| và |end of text| trong bảng mã ascii.
      http://www.hieunghia.info
      Lướt web thoải mái với USB3G của Viettel
      http://www.hieunghia.info/tin-cong-n...3g-vietel.html
      -----------------------------------------------------------------------------------
      Một chút giận,hai chút tham,lận đận cả đời ri cũng khổ.
      Trăm điều lành,ngàn điều nhịn,thong dong tấc dạ rứa mà vui

      Comment

      Working...