mscomm控件的串口数据传送问题? 急......

leojojo 2002-11-28 08:39:07
我在用mscomm控件编串口通信时,遇到这样一个问题,
把缓冲区内的字节数赋给一个整型变量时,变量bufcount得到
的值与缓冲区内的字节数MSComm1.InBufferCount的值不相同,
变量bufcount得到的是8的倍数,
请赐教,源代码如下:
Private Sub Form_Load()
If MSComm1.PortOpen Then
MSComm1.PortOpen = False 'close port
End If
' MSComm1.SThreshold = 1 '清空发送缓冲区
MSComm1.CommPort = 1
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
strxian = ""
End Sub

Private Sub MSComm1_OnComm() ’触发mscomm控件
'定义变量
Dim strxian As String
Dim i As Integer
Dim bufcount As Integer
Dim buffer As Variant
Dim arr() As Byte

Select Case MSComm1.CommEvent

Case comEvReceive '收到RThreshold个字节产生的接收事件
bufcount = MSComm1.InBufferCount'获得已接收的字符数
’问题在上一句产生!!!!
MSComm1.InputLen = 0
buffer = MSComm1.Input
ReDim arr(40)
arr = buffer

For i = 0 To bufcount - 1
strxian = strxian + Chr(arr(i))’转换成字符
Next i
Text1.Text = strxian ’显示

End Select
End Sub
...全文
46 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
leojojo 2002-11-29
  • 打赏
  • 举报
回复
我是用的两个串口.使用的串口调试助手v2.1作为发送或接收端.不可能出现你所说这种情况.
previewer1024 2002-11-28
  • 打赏
  • 举报
回复
你接收到的字符可能含有MODEM的响应字符,如刚接通时含有CONNECTED等字符,
建议你先用超级终端来测试!

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧