登录
首页 串口通信 串口通信
回帖 发帖
正文

主题:我买了一根两端均是母口的串行线,想分别连在计算机的

点击:3603 回复:9

我买了一根两端均是母口的串行线,想分别连在计算机的COM1和COM2上组成回路,但是仍然无法通讯,是不是一定要将通讯线的某一端2-3对换?
02-11-14 13:36
1楼
该帖内容不符合相关规定!
02-11-14 17:08
可以你买的是串行口延长线,他是一一对应的,所以无法用来通讯
02-11-14 18:25
我现在把端口的2和3对调,打开两个串口调试器程序测试可以发送和接收,但是如何用VB的MSCOMM做在一个程序中实行通讯发送接收呢?困难是MSCOMM只能用于一个端口
02-11-15 10:00
MSCOMM一个端口也是可以收发的,你可以发完再收,或是收完再发。你按你的通讯协议来编写程序即可。
02-11-15 13:15
谢谢大家,我做两个程序,一个将COMMPORT=1,另一个将COMMPORT=2,然后同时打开
这两个程序,此时一个程序点击发送,另一个按接收是可以收到的,问题是我想把两个程序合成一个程序,在一个程序内发送与接收。请各位高手出出点子,两个程序代码如下:
第一个程序 FORM1
Private Sub cmdexit_Click()
MSComm1.PortOpen = False
End
End Sub
Private Sub cmdreceive_Click()
Dim buf$
buf = Trim(MSComm1.Input)
If Len(buf) = 0 Then
txtreceive.Text = Empty
Else
txtreceive.Text = buf
End If
End Sub
Private Sub cmdsend_Click()
MSComm1.Output = Trim(txtsend.Text)
End Sub
Private Sub CLS_Click()
txtsend = ""
txtreceive = ""
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 2
MSComm1.PortOpen = True
End Sub
第二个程序FORM2
Private Sub cmdexit_Click()
MSComm1.PortOpen = False
End
End Sub
Private Sub cmdreceive_Click()
Dim buf$
buf = Trim(MSComm1.Input)
If Len(buf) = 0 Then
txtreceive.Text = Empty
Else
txtreceive.Text = buf
End If
End Sub
Private Sub cmdsend_Click()
MSComm1.Output = Trim(txtsend.Text)
End Sub
Private Sub CLS_Click()
txtsend = ""
txtreceive = ""
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 2
MSComm1.PortOpen = True
End Sub
02-11-15 14:23
你可以在同一个FORM里放两个MSCOMM即可解决。
另有一点我不明白,你是想用一个PORT来发送与接收,还是用一个PORT来发,另外一个PORT来收。
02-11-15 18:44
如果你是相学习用而已,用一个口来发送与接收,可以将口的2脚与3脚接起来
02-11-15 18:47
在mscomm的属性里把r值设为1,然后用mscomm的事件来做就行了
02-11-17 15:03
呵呵,现在问题已解决,多谢各位
02-11-19 13:48

工控新闻

更多新闻资讯