vb把文本框中的0f 09 通过串口232发送,为什么发送的0f 00 09 00 ,而小弟我只想要0f和09. 急

vb把文本框中的0f 09 通过串口232发送,为什么发送的0f 00 09 00 ,而我只想要0f和09. 急急急急急
代码关键点就是这句
temp(j) = Val("&H" & Mid(strBuff, 2 * j + 1, 2)) ;这句话是问题的关键
怎么才能转换成对应的16进制数,并且发送?

VB code
Private Sub Command3_Click()
     Dim temp() As Byte
    Dim strBuff As String
    Dim le, j
    If Option1.Value = True Then '如果显示16进制发送则进行16进制处理 ,这里只发送一个
      strBuff = Trim(Text1.Text)
      le = Len(strBuff) \ 2  ' 求出数组长度
      ReDim temp(le - 1)
      For j = 0 To le - 1
      temp(j) = Val("&H" & Mid(strBuff, 2 * j + 1, 2))   ;这句话是问题的关键
      Next j
       If MSComm1.PortOpen = False Then
       MsgBox "请打开串口"
       Else
       MSComm1.Output = temp '发送一个16进制
       End If


------解决方案--------------------
http://www.vbgood.com/thread-83700-1-1.html
------解决方案--------------------
http://download.****.net/detail/veron_04/1262066