|
Tài trợ cho PIC Vietnam |
Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển... |
|
Ðiều Chỉnh | Xếp Bài |
|
13-12-2009, 09:13 PM | #1 |
Đệ tử 1 túi
Tham gia ngày: Apr 2009
Bài gửi: 11
: |
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! |
13-12-2009, 09:45 PM | #2 |
Đệ tử 1 túi
Tham gia ngày: Apr 2009
Bài gửi: 11
: |
"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. |
14-12-2009, 10:23 PM | #3 |
Đệ tử 3 túi
Tham gia ngày: Oct 2006
Bài gửi: 46
: |
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 |
|
|