MSCOMM控件发送16进制数字的有关问题

MSCOMM控件发送16进制数字的问题
各位好:
      我公司现在需要对现有门禁系统做二次开发.我从门禁系统开发商得到了通信协议.
    1.1   波特率:19200,8,1                 无校验  
1.2   数据结构:
HEAD+LEN+DID+CTL+DT0+...+DTn+XOR+SUM
HEAD:头码=0x80 PC发往MCU
                                        =0x89 MCU发往PC
LEN: 码长=从DID到SUM的长度                                                          
BYTE的个数,看下面的内容
DID:Destination     Node     Address     目标地址码,MCU=00—FF    
多机通信用,为分机号,最多接255个下位机
CTR: 控制/命令码
DT0—DTn:数据
XOR=   HEAD^LEN^   DID^CTL^DT0^...^DTn       除SUM外,所有数据异或为0
SUM=00-(HEAD+LEN+DID+CTL+DT0+...+DTn+XOR)   使一组数据和为0

二、设置日期时间:
2.1 设置时间:
80+0A+DID+11+Hour(2)+Min(2)+Sec(2)+XOR+SUM
例:DID=00,时间=15点26分48秒
80+0A+00+11+31+35+32+36+34+38+97+94
回复:89+04+DID+11+SUM+XOR

然后我试着用VB的   MSCOMM   控件写   mscomm1.output=   写例子中的这一长串   16进制的数,但没有返回值.
有没有能指点一二,究竟   mscomm1.output   发送16进制的数应该怎么写?

------解决方案--------------------
Dim intSum As Integer, i As Integer

For i = 1 To n - 2
bData(n - 1) = bData(n - 1) Xor bData(i)
intSum = intSum + bData(i)
Next i
intSum = intSum + bData(n - 1)
bData(n) = CByte(intSum)
bData(n) = 256 - bData(n)