你定義的委托需要帶參數(shù)才行,DataReceived事件中沒(méi)有接收數(shù)據(jù)代碼,下面的代碼經(jīng)測(cè)試可用
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、雨花網(wǎng)站維護(hù)、網(wǎng)站推廣。
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
Do
Application.DoEvents()
Loop?Until?MSComm1.InBufferCount?=?13
Dim?a?As?String?=?MSComm1.Input
Label1.Caption?=?a.Substring(1,?9)
Label2.Caption?=?a.Substring(10,?3)
不知道你是不是用51單片機(jī)往串口發(fā)數(shù)據(jù),是的話那是因?yàn)?1的SBUF最多存放8個(gè)字節(jié),所以你發(fā)12個(gè)字節(jié)會(huì)分成兩次發(fā)完。還有在接收的時(shí)候最好定義好通信協(xié)議,比如加一個(gè)偵頭,一個(gè)偵尾,通過(guò)這兩個(gè)字節(jié)的內(nèi)容來(lái)接收數(shù)據(jù)。
老兄,提問(wèn)還是給點(diǎn)懸賞分嘛,不要吝嗇哪點(diǎn)分,知識(shí)是無(wú)價(jià)的,你給得越多,回答你的人才會(huì)越多。