VicoTas
Câu hỏi
avatar meteorgarden
26/04/2013 21:34

Truyền ký tự qua cổng COM?

Dùng VB6 để viết chương trình truyền ký tự qua cổng COM nhưng mỗi lần nhận (mỗi lần sự kiện comEvReceive được gọi) nó chỉ nhận tối đa 8 ký tự (text). Nếu truyền quá 8 ký tự 1 lần thì máy thu sẽ ngắt ra làm nhiều lần thu tương ứng mỗi lần là 8 ký tự. Xin hỏi có cách nào để nhận được số ký tự nhiều hơn cho một lần nhận không?

Danh sách câu trả lời (1)
Phương pebuon_8x 26/04/2013 21:34
Bạn không nói rõ đoạn code VB truyền/nhận ký tự của bạn dùng kỹ thuật gì hay đối tượng gì nên chúng tôi chỉ trả lời tổng quát. Thường người lập trình cổng COM thông qua các đối tượng có sẵn (hoặc của Microsoft hoặc của hãng khác), các đối tượng này cung cấp giao tiếp truy xuất COM rất thân thiện, dễ dàng, chúng che dấu mọi chi tiết cấp thấp đã xảy ra như thế nào. Thí dụ, mỗi khi bạn gọi hàm để gửi 1 chuỗi n ký tự, thực tế máy sẽ lưu chuỗi mà bạn yêu cầu gửi vào buffer tạm rồi sẽ gởi sau tại thời điểm thích hợp, và mỗi lần, máy có thể gửi m ký tự (m có thể nhỏ hơn hay lớn hơn n ký tự mà bạn yêu cầu). Ở máy nhận cũng vậy, mỗi khi nhận được ký tự, máy sẽ chứa vào buffer tạm, và khi thích hợp mới tạo sự kiện báo cho ứng dụng nhận dữ liệu biết. Khi gọi hàm nhận dữ liệu, tùy trạng thái buffer nhận hiện hành và/hoặc tham số của hàm qui định mà máy sẽ trả về bao nhiêu ký tự. Số ký tự mà hàm nhận được thường nhỏ hơn số ký tự mà buffer nhận đang lưu giữ.

Tóm lại khi viết ứng dụng gửi/nhận dữ liệu (dù thông qua giao tiếp phần mềm nào và trên phần cứng nào), người lập trình phải định nghĩa cho được giao thức làm việc. Giao thức làm việc là tập các thông báo request/reply mà ứng dụng khách/chủ sẽ tuân thủ, định dạng cụ thể của từng request/reply. Nếu là ứng dụng gửi/nhận dữ liệu, thế nào cũng tồn tại 1 request qui định số byte hay ký tự sẽ được truyền, nhờ đó ứng dụng nhận sẽ lập vòng (loop) chờ nhận đủ số byte qui định, cho dù chúng đến ở những thời điểm độc lập và cách xa nhau.
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
Nguyễn Văn Siêu Có sách nào nói về phần mềm và phần cứng ko ? tiếng việt ý ạh, ai có link down chỉ em với?

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

Ngô Minh Tùng Tôi phải làm thế nào để ngăn hoặc bắt phím ngắt (break key) trong Turbo Pascal để chương trình của tôi không bị ngắt?

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

Hương Tin hoc. Cho 1 dãy số nguyên A gồm ko quá 1000 fan` tử. Đếm và tính tích các số chẵn ( Áp Dụng kiến thức kiểu mảng 1 chiều )

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

nophoto Hãy cho biết tác dụng của câu lệnh lặp với số lần biết trước ?

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

nophoto Thực hành C++ trên Textapd

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

Ngô Minh Tùng Em mốn chỉnh sửa ảnh thì em phải tải phần mền nào về máy. Xin giúp em với xin cảm ơn?

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

Lê Văn Tùng CáchTtạo Album ảnh 3D trực tuyến

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

Link ngôn ngữ lập trình cấp thấp là ngôn ngữ gì?

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

Nguyễn Văn Siêu Có tài liệu mễn phí nào dạy học lập trình không cho tôi xin với !?

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

Thu Trang Các bạn ơi có ai biết tạo trang web tặng người ấy ko?

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

dang duc thang Mạng 4G là mạng như thế nào ạ?

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

vietnamconnection Chống Save as Trang Web

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

Đức Việt Các tạo 1 file Ghost như thế nào?

Đăng lúc: 21:33 - 26/04/2013 trong Lập trình

Hin Các tham số của Ghost như thế nào ?

Đăng lúc: 21:32 - 26/04/2013 trong Lập trình

Củ Chuối Cách ghost win như thế nào ?

Đăng lúc: 21:32 - 26/04/2013 trong Lập trình

Thu Trang Hỏi về cách tạo file *.BAT để chạy java?

Đăng lúc: 21:32 - 26/04/2013 trong Lập trình

Manh Linh Bài toán nhập 4 số nguyên, tìm Min và Max trong Pascal, C, C++, C#?

Đăng lúc: 21:32 - 26/04/2013 trong Lập trình

Thu Trang Cho mình xin hỏi bạn nào bít đoạn code nào mà chạy nhạc nền thay đổi không vậy? Chỉ mình với!?

Đăng lúc: 21:32 - 26/04/2013 trong Lập trình

nophoto Em tải c-free4 về máy để lập trình c nhưng em không thao tác được, dùng c-free4 để lập trình có được không

Đăng lúc: 21:32 - 26/04/2013 trong Lập trình

Củ Chuối Viết chương trình tính giai thừa của số n<100 bất kỳ . làm thế nào nhĩ ? giúp tui zới?

Đăng lúc: 21:32 - 26/04/2013 trong Lập trình

Rao vặt Siêu Vip