1. Trang chủ
  2. » Thể loại khác

su dung VB truyen thong cong COM ppsx

8 280 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

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. 3) Đặt hai cái hộp văn bản trên mẫu. 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.Text End Sub Private Sub Form_Load() MSComm1.PortOpen = True End Sub Select Case MSComm1.CommEvent Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive ReceivedDataTextBox.Text = MSComm1.Input Case comEvSend ' do nothing here for now End Select End Sub Case comEvReceive ReceivedDataTextBox.Text = MSComm1.Input Case comEvSend ' do nothing here for now End Select End 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 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. 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 Explicit Private Sub Comm1_OnComm() Select Case Comm1.CommEvent Case comEvReceive ReceivedDataTextBox.Text = Comm1.Input Case comEvSend ' do nothing here for now End Select End Sub Private Sub Command1_Click() Comm1.Output = DataToTransmitTextBox.Text End Sub Private Sub Form_Load() Comm1.PortOpen = True End Sub Private Sub Form_OKClick() App.End End 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 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 String Private Sub Command1_Click() MSComm1.Output = DataToTransmitTextBox.Text End Sub Private Sub Form_Load() InputData = "" MSComm1.PortOpen = True End Sub Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive InputData = InputData + MSComm1.Input Case comEvSend Timer1.Enabled = True Case comEvCTS ReceivedDataTextBox.Text = InputData InputData = "" End Select End Sub Private Sub Timer1_Timer() Timer1.Enabled = False ' all data sent, so toggle rts. MSComm1.RTSEnable = Not MSComm1.RTSEnable End 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 Explicit Dim InputData As String Private Sub Comm1_OnComm() Select Case Comm1.CommEvent Case comEvReceive InputData = InputData + Comm1.Input Case comEvSend ' all data sent, so toggle RTS Comm1.RTSEnable = Not Comm1.RTSEnable Case comEvCTS ReceivedDataTextBox.Text = InputData InputData = "" End Select End Sub Private Sub Command1_Click() Comm1.Output = DataToTransmitTextBox.Text End Sub Private Sub Form_Load() InputData = "" Comm1.PortOpen = True End Sub Private Sub Form_OKClick() App.End End 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 Byte MSComm1.Output = Chr(TransmitByte) Đoạn mã sau đây mô tả làm sao để nhận được tới 100 byte: Dim TmpStr As String Dim StrLen As Long, I As Long Dim FileData(100) As Byte While MSComm1.InBufferCount > 0 TmpStr = MSComm1.Input StrLen = Len(TmpStr) For I = 1 To StrLen FileData(I) = CByte(Asc(Mid(TmpStr, I, 1))) Next I Wend Hy 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! . Form_Load() MSComm1.PortOpen = True End Sub Select Case MSComm1.CommEvent Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive ReceivedDataTextBox.Text = MSComm1.Input Case comEvSend '. String Private Sub Command1_Click() MSComm1.Output = DataToTransmitTextBox.Text End Sub Private Sub Form_Load() InputData = "" MSComm1.PortOpen = True End Sub Private Sub MSComm1_OnComm() Select. Comm1.Input Case comEvSend ' do nothing here for now End Select End Sub Private Sub Command1_Click() Comm1.Output = DataToTransmitTextBox.Text End Sub Private Sub Form_Load() Comm1.PortOpen = True End Sub Private

Ngày đăng: 10/08/2014, 22:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w