Tal cual lo comentaba Fernando NO funciono :-(
El tema es asi a ver si me explico mejor
Tengo una rutina en VB,NET que calcula un CRC16 muy especial para una cadena de 
valores Hexas
Esta rutina recibe parametros asi 
Public Shared Function calculate(ByVal buffer() As Byte, ByVal offset As 
Integer, ByVal len As Integer, ByVal feed As Integer) As Integer
Dim iCRC As Integer

Dim i As Integer

Dim bytT As Byte

Dim bytC As Byte

Dim ia As Integer

iCRC = feed

For i = offset To len - 1

bytC = buffer(i)

bytT = (iCRC And &HFF) Xor bytC

ia = uiShiftRightBy8(iCRC)

iCRC = ia Xor aCRC16Table(bytT)

Next

calculate = iCRC

End Function

Como pueden ver recibe buffer() As Byte

buffer por ejemplo puede ser  ("04","03","00","00") y asi funciona perfecto, 
pero tambien puede ser ("04","01","06","00","3B","32") y en este caso salta por 
la excepcion del TRY al convertir "3B" en byte

SI hago lo que dice fernando de convertir primero a mano en decimal, el "3B" es 
59 y pasandole 59 a la rutina el CRC no me da como deberia

Se entendio?
Alguna idea?
Gracias 

Saludos
PabloC

Responder a