vb 串口 接收 程序

用VB编写的串口通信程序用示波器测试得到串口发送数据正常用串口精灵测得能正常自发自收硬件连接没问题将串口DB92、3脚短接后出现无法接收发送信号的问题串口配置如下:MSC... 用VB编写的串口通信程序
用示波器测试得到 串口发送数据正常
用串口精灵测得 能正常自发自收 硬件连接没问题
将串口DB9 2、3脚短接后 出现无法接收发送信号的问题

串口配置如下:

MSComm1.CommPort = 1
MSComm1.Settings = " 9600,n,8,1"
MSComm1.InputMode =comInputModeBinary
MSComm1.InputLen = 0
MSComm1.SThreshold = 1
MSComm1.RThreshold = 1
MSComm1.PortOpen = True

在OnComm事件中
Private Sub MSComm1_OnComm()
Dim buffer As Variant
Dim arr() As Byte
Select Case MSComm1.CommEvent
Case comEvReceive
buffer = MSComm1.Input
arr = buffer
temprx(i) = arr
'Text5.Text = Text5.Text + " || " + Hex(temprx(i))
MSComm1.InBufferCount= 0
发送的数据为“105A0303030201E51003”
text5中显示为“|| 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0”
怎样修改让发送与接收一样?
展开
 我来答
zdingyun
2013-09-06 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48179
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部

Private Sub Form_Load()
    MSComm1.CommPort = 1
    MSComm1.Settings = " 9600,n,8,1"
    MSComm1.InputMode = comInputModeBinary
    MSComm1.InputLen = 0
    MSComm1.SThreshold = 1
    MSComm1.RThreshold = 1
    MSComm1.PortOpen = True
    Text5 = ""
End Sub

Private Sub MSComm1_OnComm()
    Dim buffer As Variant
    Dim arr() As Byte
    Dim i As Long
    Select Case MSComm1.CommEvent
        Case comEvReceive
            buffer = MSComm1.Input
            arr = buffer
            For i = 0 To UBound(arr)
                Text5.Text = Text5.Text + "||" + Right("0" & Hex(arr(i)), 2)
            Next i
            MSComm1.InBufferCount = 0
    End Select
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
money0_04c351c2
推荐于2018-03-29 · TA获得超过4142个赞
知道大有可为答主
回答量:5505
采纳率:49%
帮助的人:1619万
展开全部
Dim arr() As Byte, I as Integer
Select Case MSComm1.CommEvent
Case comEvReceive
   arr = MSComm1.Input
   For I = 0 to UBound(arr)
     Text5.Text = Text5.Text + " || " + Hex(arr(I))
   Next

没测试,随手打的。你的 buffer 完全无用,temprx 也完全无用。

可以在 arr = MSComm1.Input 下面加个 Stop,监视一下收到的内容。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-06
展开全部
一般,MSComm 关键属性如RThreshold才设置,其他都可以用默认值

楼上 楼下都给了 例子,都不错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式