作者bruce476 (布鲁斯)
看板Visual_Basic
标题[VB6 ] RS-232回路测试问题
时间Mon Jul 19 22:32:19 2010
小弟是VB新手中的新手
因工作上需要用VB撰写一个利用RS-232通讯的控制功能
但发生一个问题
小弟的电脑是XP
(原本的OS原本为VISTA,重新灌回XP,但VISTA好像有占据硬碟某部份)
然後因为NB没有COM PORT, 所以买了一个USB-RS232的转接线
我试着照范例写出一个简易测试RS232通讯回路程式
(把com接脚 2-3短接,然後自问 自收的方式)
测试发送接收功能.
但今天测试时,发现只要按send钮,就会当机
就整个程式当在那边无法动作
必须以ctrl +Alt+ del关闭才行
但今天换到另一台NB(XP系统,也是用USB转RS232线),就不会有这样情况产生
按send时,很顺利
按input时,也顺利收到资料
但有时候按input接收资料时,会停顿一阵子,然後才会显示接收的资料.
看过系统/装置管理员/连接埠的地方 ,com代号设定没问题
小弟新手 想破头,还是不清楚问题出在哪边?
导致第一台NB执行程式时,会当机?
第二台电脑在读取资料时很顺利,但是为什麽有时候会停顿一阵子?
不是应该马上就会接收资料?
希望能有高手帮忙指导小弟解决问题
感谢
程式如下
Option Explicit
''''''''''''''''''''''''''''''''''''''
'使用命令按钮控制项
'关闭通讯埠
'结束系统
'
''''''''''''''''''''''''''''''''''''''
Private Sub CmdExit_Click()
Comm1.PortOpen = False
End
End Sub
''''''''''''''''''''''''''''''''''''''
'使用命令按钮控制项
'接收由通讯埠传送过来的字串,并判断之
'
''''''''''''''''''''''''''''''''''''''
Private Sub CmdReceive_Click()
Dim buf$
buf = Trim(Comm1.Input)
If Len(buf) = 0 Then
txtReceive.Text = "Empty"
Else
txtReceive.Text = buf
End If
End Sub
''''''''''''''''''''''''''''''''''''''
'使用命令按钮控制项
'将资料由通讯埠传送出去
'
''''''''''''''''''''''''''''''''''''''
Private Sub CmdSend_Click()
Comm1.Output = Trim(txtSend.Text)
End Sub
''''''''''''''''''''''''''''''''''''''
'表单的载入事件
'开启通讯埠,通讯埠的设定参数也可以
'在开启前作设定
'
''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
Comm1.PortOpen = True
End Sub
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.141.209
1F:→ x000032001:当机(debug mode)的时候要不要试试ctrl+break...? 07/19 22:49
2F:→ bruce476:ctrl+break後 萤幕也是当在那边.视窗留着但无法动作. 07/19 23:17
3F:→ bruce476:已解决. 最後发现为传输线的driver出问题. 更新後正常. 07/20 16:49