十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
直接发数字1。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、网站设计、靖宇网络推广、微信小程序、靖宇网络营销、靖宇企业策划、靖宇品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供靖宇建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
一般可以直接发10进制的数字,当然要转换,比如16进制的21,你可以直接发33
你定义的委托需要带参数才行,DataReceived事件中没有接收数据代码,下面的代码经测试可用
Delegate Sub SetTextCallback(ByVal InputString As String)
Private Sub ShowString(ByVal comData As String)
txt_Rect.Text += comData '将收到的数据入接收文字框中
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
是独立的东西,没有依赖,尽管在底层有可能是类似的调用
还有在.net里一般只认为是普通类,并不属于控件,因为没界面
n = SerialPort1.BytesToRead '读取字节数 If n 0 Then '若字节数大于0.则执行以下操作
ReDim rc(n) '重新定义rc的长度,(之前有定义过)
strrc = 0 '变量类型为字符串(string),一开始使它为0
For i = 1 To n
rc(i) = SerialPort1.ReadByte ‘读取数据
strrc += CStr(Hex(rc(i))) '这里Hex 函数 返回表示数的十六进制值的字符串
'CStr 函数 返回已被转换为字符串子类型的变体的表达式。
Next
TextBox1.Text = strrc '将strrc的值付给TextBox1.Text即可
End If