PDA

View Full Version : Find COMM


arale
13-01-2007, 07:40 AM
Chào HaiBac
Tôi có theo dõi topic về truyền dữ liệu thông qua cổng COM trong VB, rất hay, và tôi cũng thực hiện được qua những hướng dẫn của bạn. Tôi theo dõi trong mục đó, thấy bạn có giới thiệu hàm findCOMM, nếu tôi không nhầm thì hàm trả kết quả là số cổng COM có trên PC? và cổng COM nào đã được mở, và cổng nào chưa để cho người dùng lựa chọn.
Trong chương trình tôi viết MSComm.Comport = 1, và không có các lựa chọn cổng COM1 hay 2, do đó khi người dùng sử dụng COM2 thì bó tay. hic, nên tôi có một vấn đề mong bạn giúp đỡ : "làm thế nào để biết cổng COM nào đang được sử dụng để giao tiếp?" ví dụ PC có 2 COM1 và COM2, khi người dùng gắn mạch giao tiếp vào COM2 thì VB nhận ra là COM2 sẽ được sử dụng, hiện lên 1 thông báo, đồng thời Open COM2 và tất nhiên là nó không open COM1.
Cảm ơn HaiBac trước hen.

ngohaibac
13-01-2007, 10:10 AM
Chào bạn.

Rất vui khi bạn quan tâm đến bài viết của mình. Cái chương trình viết bằng VB đó là của bọn http://www.lvr.com của tác giả Jan Axelson , trong chương trình của họ có phân tiích khá đầy đủ. Do mình đang thi nên chưa xem lại cho bạn luôn được.

Hiện giờ file dữ liệu về Project đó mình đã bị mất nên không xem lại được. Bạn nào download rùi thì upload lên lại hộ mình với nhé.

Chúc các bạn thành công.

VNArmy
13-01-2007, 03:05 PM
Theo tôi thì bạn chỉ việc cho chương trình của bạn thỉnh thoảng quét từng cổng COM bằng cách gửi ra đó một lệnh nào đó. Nếu có thiết bị ở cổng thì nó sẽ có tín hiệu trả lời từ mạch giao tiếp còn nếu hết một khoảng thời gian nào đó mà không có tín hiệu trả lời thì coi như không có thiết bị giao tiếp ở đó.

namqn
13-01-2007, 10:52 PM
Chào HaiBac
Tôi có theo dõi topic về truyền dữ liệu thông qua cổng COM trong VB, rất hay, và tôi cũng thực hiện được qua những hướng dẫn của bạn. Tôi theo dõi trong mục đó, thấy bạn có giới thiệu hàm findCOMM, nếu tôi không nhầm thì hàm trả kết quả là số cổng COM có trên PC? và cổng COM nào đã được mở, và cổng nào chưa để cho người dùng lựa chọn.
Trong chương trình tôi viết MSComm.Comport = 1, và không có các lựa chọn cổng COM1 hay 2, do đó khi người dùng sử dụng COM2 thì bó tay. hic, nên tôi có một vấn đề mong bạn giúp đỡ : "làm thế nào để biết cổng COM nào đang được sử dụng để giao tiếp?" ví dụ PC có 2 COM1 và COM2, khi người dùng gắn mạch giao tiếp vào COM2 thì VB nhận ra là COM2 sẽ được sử dụng, hiện lên 1 thông báo, đồng thời Open COM2 và tất nhiên là nó không open COM1.
Cảm ơn HaiBac trước hen.
Cách giải quyết thông thường trong các phần mềm tại gia (home-made) là cho phép người dùng chọn cổng giao tiếp từ chương trình. Nếu họ chọn sai thì đó là do họ thiết lập hay chọn lựa sai, phần mềm không nhất thiết phải tiêu tốn thời gian của hệ thống để hiện thực tính năng tự động này. Tất nhiên, các phần mềm hoàn toàn có thể thực hiện điều đó.

Thân,

arale
14-01-2007, 06:33 PM
Cảm ơn các anh, các bạn đã nhiệt tình trả lời giúp.
@namqn: tôi cũng đã thực hiện cách đó rồi, tại free quá nên mới ngồi nghỉ ra cái vấn đề này.:D
@VNArmy: hix, cái cách đó hàm FindCOM làm rồi, nhược điểm là chỉ cho biết cổng nào đang được open, nhưng nó không thể biết được cổng nào đang open cho mạch giao tiếp.
@ngohaibac: tôi dùng ultra để down hết cái thread của bạn xuống, theo dõi cho dễ, giờ không biết up lên thế nào. :D . Chúc bạn thi tốt hen. thứ 5 này tôi bảo vệ luận văn rồi. hồi hộp quá. :)

tôi thấy cái support của Microsoft cũng được lắm, các bạn ai thích thì tham khảo thêm http://support.microsoft.com/default.aspx?scid=kb;en-us;194922

ngohaibac
14-01-2007, 10:44 PM
Chào bạn.

Bạn tìm trong đống file của bạn xem có file nào là Terminal.exe không thì upload lên diễn đàn nhé.

Chúc bạn thành công.

hoangtham
24-04-2007, 01:53 AM
Chào Bắc.fie này nè
Chúc bạn thành công.

ngohaibac
24-04-2007, 03:11 AM
Đúng rùi đó Thám ạ.

Cảm ơn mày nhé. Anh em download về test nhé.