你定義的委托需要帶參數(shù)才行,DataReceived事件中沒有接收數(shù)據(jù)代碼,下面的代碼經(jīng)測試可用
成都創(chuàng)新互聯(lián)是專業(yè)的三門峽網(wǎng)站建設(shè)公司,三門峽接單;提供網(wǎng)站設(shè)計制作、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行三門峽網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
Delegate Sub SetTextCallback(ByVal InputString As String)
Private Sub ShowString(ByVal comData As String)
txt_Rect.Text += comData '將收到的數(shù)據(jù)入接收文字框中
txt_Rect.SelectionStart = txt_Rect.Text.Length
txt_Rect.ScrollToCaret()
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Dim inData As String = SerialPort1.ReadExisting
Dim d As New SetTextCallback(AddressOf ShowString)
BeginInvoke(d, inData)
End Sub
直接發(fā)數(shù)字1。
一般可以直接發(fā)10進制的數(shù)字,當(dāng)然要轉(zhuǎn)換,比如16進制的21,你可以直接發(fā)33
.net中不用mscomm 而改用 searport
AxMSComm1.Input 只能一次,會把輸入緩沖區(qū)的內(nèi)容全都讀出來并清空
如果沒有產(chǎn)生Oncomm事件,你可以把輸入經(jīng)部區(qū)的大小改一下改成1就行了