Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini menjelaskan cara menggunakan My.Computer.Ports untuk menerima string dari port seri komputer di Visual Basic.
Untuk menerima string dari port serial
Menginisialisasi string pengembalian.
Dim returnStr As String = ""Tentukan port serial mana yang harus menyediakan string. Contoh ini mengasumsikan itu adalah
COM1.Gunakan metode
My.Computer.Ports.OpenSerialPortuntuk mendapatkan referensi ke port. Untuk informasi selengkapnya, lihat OpenSerialPort .Blok
Try...Catch...Finallymemungkinkan aplikasi untuk menutup port serial, bahkan jika menimbulkan pengecualian. Semua kode yang memanipulasi port serial akan muncul dalam blok ini.Dim com1 As IO.Ports.SerialPort = Nothing Try com1 = My.Computer.Ports.OpenSerialPort("COM1") com1.ReadTimeout = 10000 Catch ex As TimeoutException returnStr = "Error: Serial Port read timed out." Finally If com1 IsNot Nothing Then com1.Close() End TryBuat perulangan
Dountuk membaca baris teks hingga tidak ada lagi baris yang tersedia.Do LoopReadLine() Gunakan metode untuk membaca baris teks berikutnya yang tersedia dari port serial.
Dim Incoming As String = com1.ReadLine()IfGunakan pernyataan untuk menentukan apakah ReadLine() metode mengembalikanNothing(yang berarti tidak ada lagi teks yang tersedia). Jika memang mengembalikan nilaiNothing, keluar dari perulanganDo.If Incoming Is Nothing Then Exit Do End IfTambahkan blok
Elseke pernyataanIfuntuk menangani situasi jika string benar-benar dibaca. Blok menambahkan string dari port serial ke string pengembalian.Else returnStr &= Incoming & vbCrLfKembalikan string.
Return returnStr
Contoh
Function ReceiveSerialData() As String
' Receive strings from a serial port.
Dim returnStr As String = ""
Dim com1 As IO.Ports.SerialPort = Nothing
Try
com1 = My.Computer.Ports.OpenSerialPort("COM1")
com1.ReadTimeout = 10000
Do
Dim Incoming As String = com1.ReadLine()
If Incoming Is Nothing Then
Exit Do
Else
returnStr &= Incoming & vbCrLf
End If
Loop
Catch ex As TimeoutException
returnStr = "Error: Serial Port read timed out."
Finally
If com1 IsNot Nothing Then com1.Close()
End Try
Return returnStr
End Function
Contoh kode ini juga tersedia sebagai cuplikan kode IntelliSense. Dalam pemilih cuplikan kode, itu terletak di Konektivitas dan Jaringan. Untuk informasi selengkapnya, lihat Cuplikan Kode .
Mengkompilasi Kode
Contoh ini mengasumsikan komputer menggunakan COM1.
Pemrograman yang Kuat
Contoh ini mengasumsikan komputer menggunakan COM1. Untuk fleksibilitas lebih lanjut, kode harus memungkinkan pengguna untuk memilih port serial yang diinginkan dari daftar port yang tersedia. Untuk informasi selengkapnya, lihat Cara: Menampilkan Port Serial yang Tersedia.
Contoh ini menggunakan blok Try...Catch...Finally untuk memastikan aplikasi menutup port dan untuk menangkap pengecualian batas waktu. Untuk informasi selengkapnya, lihat Coba... Menangkap... Pernyataan Terakhir.