nbytes = 3 + (cant * 2) + 2
env = Chr$( nDIS ) & Chr$( cod )
env = env & Chr$(0) & Chr$( add )
env = env & Chr$(0) & Chr$( cant )
'Añadir el CRC al mensaje
crc = CRC16( env )
hByte = CInt(( crc And &HFF00& ) \ &H100& ) And &HFF&
lByte = CInt( crc And &HFF& )
env = env & Chr$( lByte )
env = env & Chr$( hByte )
'Enviar el mensaje
ReDim TBytes(1 To Len(env))
While b < Len( env )
b = b + 1
TBytes( b ) = AscB(Mid( env, b, 1 ))
Wend
Comm.Output = TBytes()
'Esperar la respuesta
While Comm.InBufferCount <> nbytes
DoEvents
Wend
'Retornar la información recibida
Erase TBytes
b = 0
env = «»
TBytes() = Comm.Input
While b < nbytes
env = env & Chr$( TBytes( b ))
b = b + 1
Wend
Preguntar = env
End Function
16
'Bytes a recibir
'cabecera
'palabra inicial
'cantidad de palabras
'Calcular el CRC
'byte bajo del CRC
As Byte
'byte alto del CRC