8
MACHDIENLYTHU.VNO.VN Biên dịch: laiquangtuyen@ iJvietnam.com Một ví dụ chứng minh việc điều khiển cổng COM là một phạm trù của Visual Basic. Truyền thông nối tiếp là nền tảng cho phép một máy tính (hay một PDA) giao tiếp được với nhau với những modun hay những thiết bị khác. Hầu như các modun này đều sử dụng chung một tập lệnh để lập trình. Bảng mã ASCII dựa trên nền tảng là các tập lệnh cho phép máy tính khởi tạo một modun, có thể ứng dụng trong quay số điện thoại, giữ liên lạc..vv.. Những thiết bị khác thì sử dụng truyền thông nối tiếp cho việc chuẩn đoán và với mục đích dò lỗi. Mã nhúng của Visual Basic là Comm hỗ trợ điều khiển cả về văn bản lẫn nhị phân dựa trên giao thức truyền thông RS-232 TRUYỀN THÔNG TRÊN NỀN VĂN BẢN Chúng ta sẽ bắt đầu với truyền thông trên nền văn bản và chúng ta sẽ làm quen cách truyền thông với máy tính Hãy làm theo các bước sau đây: 1) Tạo ra một project. 2) Nhấp chuột vào menu chọn Project , chọn components, đánh dấu Comm Microsoft 6.0. Bây giờ bạn sẽ thấy một biểu tượng điện thoại trong cửa sổ thành phần.

Su Dung VB Truyen Thong Cong COM

  • Upload
    tbangbk

  • View
    99

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Su Dung VB Truyen Thong Cong COM

MACHDIENLYTHU.VNO.VN

Biên dịch: laiquangtuyen@ iJvietnam.com

Một ví dụ chứng minh việc điều khiển cổng COM là một phạm trù của Visual Basic.

Truyền thông nối tiếp là nền tảng cho phép một máy tính (hay một PDA) giao tiếp được với nhau với những modun hay những thiết bị khác. Hầu như các modun này đều sử dụng chung một tập lệnh để lập trình. Bảng mã ASCII dựa trên nền tảng là các tập lệnh cho phép máy tính khởi tạo một modun, có thể ứng dụng trong quay số điện thoại, giữ liên lạc..vv.. Những thiết bị khác thì sử dụng truyền thông nối tiếp cho việc chuẩn đoán và với mục đích dò lỗi.

Mã nhúng của Visual Basic là Comm hỗ trợ điều khiển cả về văn bản lẫn nhị phân dựa trên giao thức truyền thông RS-232

TRUYỀN THÔNG TRÊN NỀN VĂN BẢN

Chúng ta sẽ bắt đầu với truyền thông trên nền văn bản và chúng ta sẽ làm quen cách truyền thông với máy tính

Hãy làm theo các bước sau đây:

1) Tạo ra một project.2) Nhấp chuột vào menu chọn Project , chọn components, đánh dấu Comm Microsoft 6.0. Bây giờ bạn sẽ thấy một biểu tượng điện thoại trong cửa sổ thành phần.

Page 2: Su Dung VB Truyen Thong Cong COM

3) Đặt hai cái hộp văn bản trên mẫu.

Page 3: Su Dung VB Truyen Thong Cong COM

4) Đặt một nhãn ở trên mỗi cái hộp văn bản

5) thay đổi một trong số những đầu đề của nhãn thành Received Data Và cái còn lại là Data To Transmit.6) Đổi tên cái hộp văn bản ở dưới nhãn Received Data thành ReceivedDataTextBox.7) Đổi tên cái hộp văn bản ở dưới nhãn Data To Transmit thành DataToTransmitTextBox.8) Tạo ra một nút lệnh command trên form và thay đổi caption nó.9) Chọn Comm control và đặt nó vào form.10) Thiết đặt lại thuộc tính của Comm để bạn sử dụng cho việc truyền thông với máy tính.11) Cài đặt những thuộc tính thiết đặt :19200, N, 8,1.12) Đặt thuộc tính Rthreshold là 1. Cái này làm cho OnComm bất kỳ khi nào trên port nối tiếp.13) Sau đây là một đoạn code:

Private Sub Command1_Click()MSComm1.Output = DataToTransmitTextBox.TextEnd SubPrivate Sub Form_Load()MSComm1.PortOpen = TrueEnd SubSelect Case MSComm1.CommEventPrivate Sub MSComm1_OnComm()Select Case MSComm1.CommEventCase comEvReceiveReceivedDataTextBox.Text = MSComm1.InputCase comEvSend' do nothing here for nowEnd SelectEnd Sub

Case comEvReceiveReceivedDataTextBox.Text = MSComm1.InputCase comEvSend' do nothing here for nowEnd SelectEnd Sub

Khi mọi thứ đã làm xong, dự án trên máy tính trông tương tự như hình bên dưới

Page 4: Su Dung VB Truyen Thong Cong COM

Bây giờ chúng ta sẽ đi vào ứng dụng của pocket PC, làm theo các bước sau đây:1) Tạo ra một new project.2) Nhấp chuột vào menu chọn Project , chọn components, đánh dấu Microsoft CE Comm Control 3.0. Bây giờ bạn sẽ thấy một biểu tượng điện thoại trong cửa sổ thành phần.3) Đặt hai cái text boxe trên form.4) Đặt một nhãn ở trên mỗi cái hộp văn bản

5) thay đổi một trong số những đầu đề của nhãn thành Received Data Và cái còn lại là Data To Transmit.

6) Đổi tên cái hộp văn bản ở dưới nhãn Received Data thành ReceivedDataTextBox.7) Đổi tên cái hộp văn bản ở dưới nhãn Data To Transmit thành DataToTransmitTextBox.8) Tạo ra một nút lệnh command trên form và thay đổi caption nó.9) Chọn Comm control và đặt nó vào form.

Page 5: Su Dung VB Truyen Thong Cong COM

10) Thiết đặt lại thuộc tính của Comm để bạn sử dụng cho việc truyền thông với máy tính.11) Cài đặt những thuộc tính thiết đặt :19200, N, 8,1.12) Đặt thuộc tính Rthreshold là 1. Cái này làm cho OnComm bất kỳ khi nào trên port nối tiếp.13) Sau đây là một đoạn code:

Option ExplicitPrivate Sub Comm1_OnComm()Select Case Comm1.CommEventCase comEvReceiveReceivedDataTextBox.Text = Comm1.InputCase comEvSend' do nothing here for nowEnd SelectEnd SubPrivate Sub Command1_Click()Comm1.Output = DataToTransmitTextBox.TextEnd SubPrivate Sub Form_Load()Comm1.PortOpen = TrueEnd SubPrivate Sub Form_OKClick()App.EndEnd Sub

Khi mọi thứ đã làm xong, dự án trên máy tính trông tương tự như hình bên dưới

Page 6: Su Dung VB Truyen Thong Cong COM

Bây giờ hãy chạy chương trình máy tính và chương trình Pocket PC. Bạn sẽ thấy dữ liệu được chuyển thành công giữa máy tính và Pocket PC.

Bây giờ là một đoạn code khác được thêm vào form. Bạn sẽ thấy điều gì khác so với đoạn code trên:

Dim InputData As StringPrivate Sub Command1_Click()MSComm1.Output = DataToTransmitTextBox.TextEnd SubPrivate Sub Form_Load()InputData = ""MSComm1.PortOpen = TrueEnd SubPrivate Sub MSComm1_OnComm()Select Case MSComm1.CommEventCase comEvReceiveInputData = InputData + MSComm1.InputCase comEvSendTimer1.Enabled = TrueCase comEvCTSReceivedDataTextBox.Text = InputDataInputData = ""

Page 7: Su Dung VB Truyen Thong Cong COM

End SelectEnd SubPrivate Sub Timer1_Timer()Timer1.Enabled = False' all data sent, so toggle rts.MSComm1.RTSEnable = Not MSComm1.RTSEnableEnd Sub

Trên Pocket PC, thay đổi thuộc tính Sthreshold trong điều khiển Comm thành 1. Tiếp theo, chúng tôi sẽ thay đổi code. Code cho form trên Pocket PC như sau:

Option ExplicitDim InputData As StringPrivate Sub Comm1_OnComm()Select Case Comm1.CommEventCase comEvReceiveInputData = InputData + Comm1.InputCase comEvSend' all data sent, so toggle RTSComm1.RTSEnable = Not Comm1.RTSEnableCase comEvCTSReceivedDataTextBox.Text = InputDataInputData = ""End SelectEnd SubPrivate Sub Command1_Click()Comm1.Output = DataToTransmitTextBox.TextEnd SubPrivate Sub Form_Load()InputData = ""Comm1.PortOpen = TrueEnd SubPrivate Sub Form_OKClick()App.EndEnd Sub

Bây giờ chạy cả hai chương trình trên bạn sẽ thấy trên cả 2 thiết bị được truyền hoàn toàn qua lại với nhau những gì mà bạn muốn.TRUYỀN THÔNG NHỊ PHÂNĐặt Rthreshold điều khiển Comm có thuộc tính là 1. Đặt thuộc tính InputLen điều khiển Comm là 0.Đoạn mã sau đây mô tả làm sao để truyền một byte:Dim TransmitByte as ByteMSComm1.Output = Chr(TransmitByte)Đoạn mã sau đây mô tả làm sao để nhận được tới 100 byte:Dim TmpStr As StringDim StrLen As Long, I As Long

Page 8: Su Dung VB Truyen Thong Cong COM

Dim FileData(100) As ByteWhile MSComm1.InBufferCount > 0TmpStr = MSComm1.InputStrLen = Len(TmpStr)For I = 1 To StrLenFileData(I) = CByte(Asc(Mid(TmpStr, I, 1)))Next IWendHy vọng bạn bây giờ sẽ có một ý tưởng Comm kiểm soát những công việc như thế nào và có ý định về khả năng làm một số truyền thông của mình!