TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com
Hướng dẫn giao tiếp Serial port sử dụng
VB.Net 2008 qua một số ví dụ
I: Chuẩn bị
1: Mở đầu
Ở đây mình không nhắ lại về cổng nối tiếp của máy tính,cách viết chương
trình bằng VB hay cách kết nối các phần cứng vào máy tình. Mình chỉ trình bày
một số ví dụ đơn giản dễ hiểu có thể mô phỏng được ngay trên máy tính mà
không cần phải làm phần cứng thông qua một số phần mềm đã đề cập ở trên.
Các ví dụ này được mình xây dựng lại hoặc phát triển thêm thông qua
một số kiến thức tìm hiểu trên mạng internet. Do kiến thức còn hạn chế nên
trong quá trình thực hiện có điều gì chưa vừa lòng hay cần góp ý các bạn có thể
liên hệ với mình theo địa chỉ
Bùi Văn Sơn
Lớp Cơ Điện Tử 2k3, Trường ĐH Công Nghiệp Hà Nội
SĐT: 0973928584 – 0979693828
Email:
Y!M: sonbui1903
Cảm ơn bạn đã download tài liệu này!
2: Các phần mềm mình sử dụng:
- Virtual Serial Port Driver
- Microsoft Visual Studio 2008
- Proteus 7.7 SP2
- PIC C Compiler 4.107
Để downloal các phần mềm này các bạn có thể tìm trên mạng internet . Do vấn
đề liên quan đến bản quền nên mình không cung cấp link cho các bạn. Nếu bạn
không tìm được thì có thề liên hệ mình theo địa chỉ ở trên. Cách cài đặt chắc
không cần phải hướng dẫn. Nếu bạn nào không cài đặt được hoặc cài đặt bị lỗi
thì có thể liên hệ mình.
Trong hướng dẫn mình sử dụng hệ điều hành Windows 7 SP1 . Nếu bạn sử dụng
hệ điều hành khác có thể sẽ khác nhau về giao diện , các bạn linh động giúp mình
nhé
TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com
3: Tạo cổng Com ảo để mô phỏng cho các ví dụ
Các bạn sử dụng phần mềm Virtual Serial Port Driver để tạo hai cổng
Com ảo được nối với nhau
Xem online và tải về clip hướng dẫn
Ở đây mình sử dụng Virtual.Serial.Port.Driver.6.9.1.134 và laptop của mình
không có cổng Com vật lý nên số cổng được bắt đầu từ Com 1. Bấm “Add pair”
để nối hai cổng với nhau
Kiểm tra trong drivers của máy tính xem có chưa.
Nếu thấy như hình dưới là được
TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com
TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com
II: Các ví dụ
Các câu lệnh sử dụng với Serialport có thể xem tại:
1: Chat giữa hai máy tính sử dụng cổng Com đơn giản
1.1: Xây dựng giao diện
Mở một dự án mới và kéo thả các công cụ cần thiết trong tool box
Clip hướng dẫn 1
Clip hướng dẫn chỉnh sửa các đối tượng
Giao diện chương trình sau khi làm xong
Dùng các công cụ trong toolbox tạo giao diện như trên
Chỉnh các thông số theo bảng sau:
Công cụ Name Text
Form Form1 Demo Chat qua cổng
Com dùng VB-
ComboBox ComboBox 1
Button Button 1 Kết nối
Button Button 2 Ngắt kết nối
Button Button 3 Gửi
Label Label 1 Chọn Cổng
Label Label 2 Trạng thái kết nối
Label Label 6 Metechvn.com
TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com
TextBox1 TextBox
RichTextBox RichTextBox1
SerialPort SerialPort1
1.2: Lập trình
Để lập trình cho các đối tượng bạn double click vào các đối tượng
1.2.1: Đóng/ mở cổng khi bật hoặc tắt chương trình
Khi mở chương trình
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If SerialPort1.IsOpen Then
SerialPort1.Close()
End If
'Lấy danh sách các cổng có trên máy'
For i As Integer = 0 To
My.Computer.Ports.SerialPortNames.Count - 1
ComboBox1.Items.Add(My.Computer.Ports.SerialPortNames(i))
Next
Button2.Enabled = False
Button3.Enabled = False
End Sub
Khi đòng chương trình
TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com
Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.FormClosedEventArgs) Handles
MyBase.FormClosed
If SerialPort1.IsOpen Then
SerialPort1.Close()
End If
End Sub
1.2.2: Kết nối và tắt kết nối
Khi bấm vào kết nối
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Try
With SerialPort1
.PortName = ComboBox1.Text
.BaudRate = 9600
.Parity = IO.Ports.Parity.None
.DataBits = 8
.StopBits = IO.Ports.StopBits.One
End With
SerialPort1.Open()
Label2.Text = " Kết nối tới " & ComboBox1.Text & " thành
công!"
Button1.Enabled = False
Button2.Enabled = True
Button3.Enabled = True
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com
Khi bấm vào tắt kết nối:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Try
SerialPort1.Close()
Label2.Text = "Ngắt kết nối với " & ComboBox1.Text
Button1.Enabled = True
Button2.Enabled = False
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
1.2.3: Gửi và nhận dữ liệu:
Gửi:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Try
If SerialPort1.IsOpen Then
SerialPort1.Write(TextBox1.Text & vbCrLf)
With RichTextBox1
.AppendText("Me: " & TextBox1.Text & vbCrLf)
.ScrollToCaret()
End With
TextBox1.Text = String.Empty
Else
Label2.Text = "Vui lòng chọn cổng kết nối " &
ComboBox1.Text
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Nhận:
Chọn sự kiện khi nhận
Chọn serialport 1 ->
DataReceived
TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com
Code:
Private Sub SerialPort1_DataReceived(ByVal sender As System.Object,
ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles
SerialPort1.DataReceived
Control.CheckForIllegalCrossThreadCalls = False
With RichTextBox1
.AppendText("Friend: " & SerialPort1.ReadExisting())
.ScrollToCaret()
End With
End Sub
1.2.4: Chạy thử
TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com
Khi kết nối được thực hiện:
1.2.4: Hướng phát triển
- Hỗ trợ việc gửi file giữa hai máy
- Có thể điều chỉnh tốc độ,số bit, ngay trong chương trình mà không cần
phải chỉnh trong code
Link download code:
TUT 1 Sonbui1903
Chat giữa hai máy tính qua cổng Com