VB串口通信RS232 接收数据有关问题

VB串口通信RS232 接收数据问题.
我第一次学习接触串口通信编程,想利用电脑接收"电子高度规"传递的数据.
窗体上有一个文本框控件,把收到的数据写显示在文本框里

我是这样写的代码:

Dim z As String

Private Sub Form_Load()
  MSComm1.commport = 2
  MSComm1.settings = "9600,N,8,1"
  MSComm1.portopen = True
  MSComm1.RThreshold = 1
End Sub

Private Sub MSComm1_OnComm()
  z = MSComm1.input
  Text2.Text = z
   
End Sub

可是它跟本就没有发生MSComm1_OnComm()事件呀.

请高手多多指教.十分感谢....

------解决方案--------------------
需要看"电子高度规"的通信协议是如何约定的,似乎有可能是发送字节数据.可以参阅:
http://www.vbgood.com/viewthread.php?tid=83700&highlight=
用它的工程来调试.
并请注意COM口接线是否正确.
------解决方案--------------------
VB code
MSComm1.RThreshold = 1 '若 Rthreshold 属性设置为 0(缺省值)则不产生 OnComm 事件,如果设置 Rthreshold 为 1,接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件。


MSComm1.RTSEnable = True '确定是否使 Request To Send (RTS) 线有效。一般情况下,由计算机发送 Request To Send 信号到联接的调制解调器,以请示允许发送数据。
'当 RTSEnable 设置为 True,端口打开时,Request To Send 线设置为高电平,端口关闭时,设置为低电平。
'Request To Send 线用在 RTS/CTS 硬件握手。RTSEnable 属性允许手动检测 Request To Send 线以确定其状态。

MSComm1.SThreshold = 1 '在 MSComm 控件设置 CommEvent 属性为 comEvSend 并产生 OnComm 事件之前,设置并返回传输缓冲区中允许的最小字符数。
'若设置 Sthreshold 属性为 0(缺省值),数据传输事件不会产生 OnComm 事件。
'若设置 Sthreshold 属性为 1,当传输缓冲区完全空时,MSComm 控件产生 OnComm 事件。
'如果在传输缓冲区中的字符数小于 value,CommEvent 属性设置为 comEvSend,并产生 OnComm 事件。
'comEvSend 事件仅当字符数与 Sthreshold 交叉时被激活一次。
'例如,如果 Sthreshold 等于 5,仅当在输出队列中字符数从 5 降到 4 时,comEvSend 才发生。
'如果在输出队列中从没有比 Sthreshold 多的字符,comEvSend 事件将绝不会发生。

'没有以上三行(默认设置)就不能收到返回的信息,也不能接收短信
MSComm1.CommPort = 4 '设置端口号码,控件手工设置无效,必须重新指定
MSComm1.Settings = "9600,N,8,1" '9600波特,无奇偶校验,8位数据,一个停止位,可省略
MSComm1.PortOpen = True '打开端口,不,可省略

------解决方案--------------------
VB code

Private Sub Form_Load()
  MSComm1.commport = 2
  MSComm1.settings = "9600,N,8,1"
  MSComm1.portopen = True
  MSComm1.RThreshold = 1
End Sub