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ác
Trang 1Hướ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: sonbui.haui@gmail.com
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é
Trang 23: 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
Trang 4II: Các ví dụ
Các câu lệnh sử dụng với Serialport có thể xem tại:
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx#Y3078 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:
Com dùng VB-Sonbui.haui@gmail.com
Trang 5TextBox1 TextBox
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
Trang 6Private 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
Trang 7Khi 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
Trang 8Code:
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ử
Trang 9Khi 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:
http://thanhsonvn90.googlecode.com/files/Com%20chat.rar