Ngày tải lên :
26/04/2013, 17:20
... Cách thiết lập tối ưu cho ứng dụng
Để cho ứng dụng có thể đọc ngay dữ liệu khi bắt đầu có trong bộ đệm nhận thì các bạn
nên đặt thuộc tính RthresHold = 1.
Ngoài ra các bạn cần quan tâm đến các tham số: CommPort, Settings, Rthreshold,
SthresHold,PortOpen, InputLen, InputBuffer, OutputBuffer, InBufferSize, InputMode,
OutBufferSize.
2. Lập trình
2.1. Mục đích yêu cầu
Chương trình này rất là đơn giản. Chúng ta sẽ tạo ra một chương trình có giao diện như
sau:
Hình 2.1: Giao diện chương trình
Chương trình có chức năng sau:
‐ Nhập kí tự hoặc xâu kí tự vào EditBox Transfer, điều chỉnh tham số giao tiếp trên
các ComboBox. Nhấn nút Send để gửi dữ liệu ra cổng COM.
‐ Đồng thời với nó nếu có dữ liệu truyền vê cổng Com thì dữ liệu sẽ được hiển thị
lên EditBox Receive. Khi bạn nhấn vào Clear thì sẽ xoá dữ liệu hiển thị trên EditBox này.
Chú ý:
Người báo cáo:
Ngô Hải Bắc
Tài liệu:
TUT01.03
Ngày:
10/01/06
Trang:
32/78
Hình 2.37 Làm cho các GroupBox 7‐>9 có khoảng cách bằng nhau
Hình 2.38: Làm cho các GroupBox này thẳng hàng với nhau
Người báo cáo:
Ngô Hải Bắc
Tài liệu:
TUT01.03
Ngày:
10/01/06
Trang:
8/78
+ Handshaking: thiết lập và trả lại giao thức bắt tay phần cứng. object.Handshaking [ =
value ].
Các giá trị của value:
comNone ... Handshaking chỉ là giao thức truyền thông nội tại quyết định bởi dữ liệu nào được
truyền từ cổng phần cứng tới bộ đệm nhận. Khi kí tự của dữ liệu tới cổng nối tiếp, thiết bị
truyền thông sẽ chuyển nó vào trong bộ đệm nhận và chương trình của bạn có thể đọc
chúng. Nếu không có bộ đệm dữ liệu hoặc chương trình của bạn cần đọc kí tự trực tiếp từ
phần cứng , bạn có thể mất dữ liệu bởi vì kí tự từ phần cứng đến rất nhanh. Giao thức
Handshaking đảm bảo dữ liệu không bị mất, khi dữ liệu đến cổng quá nhanh thì thiết bị
truyền thông sẽ chuyển dữ liệu vào trong bộ đệm nhận.
+ RTSEnable: quết định khi nào cho phép đường Request To Send (RTS), Tín hiệu RTS
từ máy tính tới modem để yêu cầu được tryền dữ liệu. Khi RTSEnable = true thì đường
RTS mức cao khi cổng mở, tích mức thấp khi cổng đóng. Và hiển nhiên khi RTSEnable thì
đường RTS luôn mức thấp.RTS dùng trong RTS/CTS hardware handshaking. RTSEnable
cho phép bạn dò đường RTS khi cần biết tình trạng của đường này.
Các tính chất trên không có lúc thiết kế giao diện mà chỉ có lúc chạy chương trình (
dùng trong viết code).
1.1.2. ... Điều khiển MSComm trong Visual C++
Trên đây là các tham số của điều khiển MSComm trong VB.
Trong Visual C++ , mỗi một điều khiển được định nghĩa trong một lớp riêng. Và
MSComm cũng không phải là ngoại lệ.
Với các tham số ở trên các bạn hoàn toàn có thể áp dụng rất là tốt cho lập trình với
VC++ bởi lẽ các tham số này bạn có thể lấy giá trị hoặc thiết lập tham số cho chúng tương
ứng bằng các hàm thành viên cửa lớp như Get_thuộctính hoặc Set_thuộctính.
Ví dụ, bạn muốn thiết lập dùng cổng COM1 chẳng hạn thì dùng thuộc tính CommPort
ở trên và chỉ thêm tiền tố Set_ nếu muốn thiết lập và Get_ nếu muốn lấy giá trị này.
Sau đây là lớp MSComm là một lớp kế thừa từ lớp cở sở CWnd, các bạn có thể tham
khảo. Các bạn chú ý về các kiều dữ liệu cửa các tham số và giá trị trả về của các hàm. Việc
Người báo cáo:
Ngô Hải Bắc
Tài liệu:
TUT01.03
Ngày:
10/01/06
Trang:
44/78
Hình 2.61: Tạo cho các comboBox có cùng chiều rộng
Chú ý: Riêng với ComboBox thì các bạn phải kéo sao cho chiều cao của điều
khiển phải đủ lớn để chứa các dữ liệu nằm trong nó sau này nếu không thì bạn sẽ
chẳng thấy nó hiển thị gì hoặc là sẽ thấy có thanh cuộn. Tốt nhất là kéo dài thoải mái
đi.
Để điều chỉnh chiều cao của các ComboBox như sau:
Di chuột đến ComboBox để con trỏ chuột nằm trên nút xổ xuống của điều khiển
sau đó kích chuột trái 1 lần. Khi đó bạn sẽ có thể co dãn chiều cao của ComboBox
thoải mái
Người báo cáo:
Ngô Hải Bắc
Tài liệu:
TUT01.03
Ngày:
10/01/06
Trang:
28/78
Hình 2.30: Thiết lập thuộc tính cho GroupBox3
Hình 2.31: Thiết lập thuộc tính cho GroupBox4
Người báo cáo:
Ngô Hải Bắc
Tài liệu:
TUT01.03
Ngày:
10/01/06
Trang:
14/78
Để có thể test luôn chương trình các bạn nối tắt chân 2 và chân 3 của RS232 lại với nhau
chính là nối chân RxD và TxD để chúng ta truyền dữ liệu ra RS232 sau đó nhận dữ liệu
luôn. Đây là ví dụ test đơn giản không có bắt tay phần cứng.
Hình 2.2: Sơ đồ đấu chân của RS232
2.2....