IFIX中MSCOMM的使用 点击:440 | 回复:1



xiaozhihu

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 2回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2015年4月07日
发表于:2015-05-05 15:26:48
楼主

Private Sub Command2_Click()

MSComm1.Output = Trim(Chr(35) + Chr(77) + Chr(82) + Chr(119) + Chr(84) + Chr(13) + Chr(10))

End Sub


Private Sub Command3_Click()

MSComm1.Output = Trim(Chr(35) + Chr(77) + Chr(82) + Chr(119) + Chr(70) + Chr(13) + Chr(10))

End Sub


Private Sub Form_Load()

MSComm1.CommPort = 1

MSComm1.Settings = "19200,n,8,1"

MSComm1.InputMode = 0

MSComm1.PortOpen = True

End Sub



Private Sub Timer1_Timer()

Dim buf$

  buf = Trim(MSComm1.Input)

  If Len(buf) <> 0 Then

  Text2.Text = buf

  End If

End Sub

这个程序在VB中能正常使用,不过放在IFIX的脚本里就运行出错,点击按钮时内存溢出,有没有使用过的。




narcsx2008

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 7回
  • 年度积分:0
  • 历史总积分:113
  • 注册:2010年10月08日
发表于:2015-05-25 09:48:00
1楼

Private Sub Form_Load()

MSComm1.CommPort = 1

MSComm1.Settings = "19200,n,8,1"

MSComm1.InputMode = 0

MSComm1.PortOpen = True

End Sub

你上面这个函数最好放在周期触发脚本里头执行,最好加上判断语句。

Private Sub Form_Load()

if MSComm1.PortOpen = fasle then 

   MSComm1.CommPort = 1

   MSComm1.Settings = "19200,n,8,1"

   MSComm1.InputMode = 0

   MSComm1.PortOpen = True

end if

End Sub



热门招聘
相关主题

官方公众号

智造工程师