PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp cổng COM và LPT (http://www.picvietnam.com/forum/forumdisplay.php?f=44)
-   -   Cần giúp đỡ về việc đọc dữ liệu từ cổng COM (http://www.picvietnam.com/forum/showthread.php?t=5519)

tucn87 13-12-2009 09:13 PM

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 13-12-2009 09:45 PM

"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.

nghia_tdh21 14-12-2009 10:23 PM

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.


Múi giờ GMT. Hiện tại là 05:47 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam