我在编单片机和pc串口发送数据的程序
我先把pc机发送端和接收端串口引脚连了起来,接收不到数据阿
我也不知道是怎么回事,在接收框就是看不到数据
要是好用的话,是应该发送什么在接收端就能接收到什么
这是代码 谁能帮我看'清空接收文本框
Private Sub Button_RECV_C_Click()
Text_RECV.Text = "" '清空接收文本框
Text_SEND.SetFocusEnd Sub'清空发送文本框
Private Sub Button_SEND_C_Click()
Text_SEND.Text = "" '清空发送文本框
Text_SEND.SetFocusEnd Sub'发送数据
Private Sub Button_SEND_Click()
Dim x As String
If Text_SEND.Text = "" Then '发送数据不能为空
x = MsgBox("发送数据不能为空", 16)
Exit Sub
End If
If Not MSComm.PortOpen Then '保证串口打开
MSComm.PortOpen = True
End If
MSComm.Output = Text_SEND.Text + Chr$(13) '发送数据
For i = 1 To 20000000 '延时
Next
End Sub'初始化代码
Private Sub Form_Load()
MSComm.CommPort = 2 '设置串口2
MSComm.Settings = "9600,N,8,1" '波特率9600bps, 无校验,8位数据,1位停止位
MSComm.InputLen = 0 '读取接收缓冲区的所有字符
MSComm.InBufferSize = 1024 '设置接收缓冲区为1024字节
MSComm.OutBufferSize = 512 '设置发送缓冲区为512字节
MSComm.PortOpen = True '打开串口
MSComm.SThreshold = 0 '不触发发送事件
MSComm.RThreshold = 1 '每一个字符到接收缓冲区都触发接收事件
MSComm.InBufferCount = 0 '清除发送缓冲区数据
MSComm.OutBufferCount = 0 '清除接收缓冲区数据
Text_SEND.Text = "" '清空发送文本框
Text_RECV.Text = "" '清空接收文本框End Sub'接收数据
Private Sub MSComm_OnComm() Select Case MSComm.CommEvent '检验串口事件
'错误处理
Case comEventOverrun '数据丢失
Text_SEND.Text = "" '清空发送缓冲区
Text_RECV.Text = "" '清空接收缓冲区
Text_SEND.SetFocus
Exit Sub
Case comEventRxOver '接收缓冲区溢出
Text_SEND.Text = "" '清空发送缓冲区
Text_RECV.Text = "" '清空接收缓冲区
Text_SEND.SetFocus
Exit Sub
Case comEventTxFull '发送缓冲区已满
Text_SEND.Text = "" '清空发送缓冲区
Text_RECV.Text = "" '清空接收缓冲区
Text_SEND.SetFocus
Exit Sub
'事件处理
Case comEvReceive '接收缓冲区内有数据
Dim str As String
str = MSComm.Input '从接收队列中读入字符串
Text_RECV.Text = Text_RECV.Textstr '读出字符串送显
End SelectEnd Sub
我先把pc机发送端和接收端串口引脚连了起来,接收不到数据阿
我也不知道是怎么回事,在接收框就是看不到数据
要是好用的话,是应该发送什么在接收端就能接收到什么
这是代码 谁能帮我看'清空接收文本框
Private Sub Button_RECV_C_Click()
Text_RECV.Text = "" '清空接收文本框
Text_SEND.SetFocusEnd Sub'清空发送文本框
Private Sub Button_SEND_C_Click()
Text_SEND.Text = "" '清空发送文本框
Text_SEND.SetFocusEnd Sub'发送数据
Private Sub Button_SEND_Click()
Dim x As String
If Text_SEND.Text = "" Then '发送数据不能为空
x = MsgBox("发送数据不能为空", 16)
Exit Sub
End If
If Not MSComm.PortOpen Then '保证串口打开
MSComm.PortOpen = True
End If
MSComm.Output = Text_SEND.Text + Chr$(13) '发送数据
For i = 1 To 20000000 '延时
Next
End Sub'初始化代码
Private Sub Form_Load()
MSComm.CommPort = 2 '设置串口2
MSComm.Settings = "9600,N,8,1" '波特率9600bps, 无校验,8位数据,1位停止位
MSComm.InputLen = 0 '读取接收缓冲区的所有字符
MSComm.InBufferSize = 1024 '设置接收缓冲区为1024字节
MSComm.OutBufferSize = 512 '设置发送缓冲区为512字节
MSComm.PortOpen = True '打开串口
MSComm.SThreshold = 0 '不触发发送事件
MSComm.RThreshold = 1 '每一个字符到接收缓冲区都触发接收事件
MSComm.InBufferCount = 0 '清除发送缓冲区数据
MSComm.OutBufferCount = 0 '清除接收缓冲区数据
Text_SEND.Text = "" '清空发送文本框
Text_RECV.Text = "" '清空接收文本框End Sub'接收数据
Private Sub MSComm_OnComm() Select Case MSComm.CommEvent '检验串口事件
'错误处理
Case comEventOverrun '数据丢失
Text_SEND.Text = "" '清空发送缓冲区
Text_RECV.Text = "" '清空接收缓冲区
Text_SEND.SetFocus
Exit Sub
Case comEventRxOver '接收缓冲区溢出
Text_SEND.Text = "" '清空发送缓冲区
Text_RECV.Text = "" '清空接收缓冲区
Text_SEND.SetFocus
Exit Sub
Case comEventTxFull '发送缓冲区已满
Text_SEND.Text = "" '清空发送缓冲区
Text_RECV.Text = "" '清空接收缓冲区
Text_SEND.SetFocus
Exit Sub
'事件处理
Case comEvReceive '接收缓冲区内有数据
Dim str As String
str = MSComm.Input '从接收队列中读入字符串
Text_RECV.Text = Text_RECV.Textstr '读出字符串送显
End SelectEnd Sub
应该是Text_RECV.Text = Text_RECV.Text & str