Hola,
El puerto está configurado como 19200,n,8,1, utilizo DTREnable y EOFEnable y no utilizo ni RTSEnable ni RThreshold. El buffer siempre lo leo entero (InpuLen=0) y el modo de entrada está como Texto.
El array no lo redimensiono de forma específica. Después de declararlo como byte lo utilizo directamente para meter dentro lo que me devuelve MSComm1.Input. Al estar declarado como byte en cada elemento tendré un byte recibido y por eso me voy hasta el 34 y directamente lo trato como valor decimal:
Label2.Caption = "Valor real= " & InBuffer(34) & "Valor Hexa= " & Hex(InBuffer(34))
dato_leido=InBuffer(34)
'Retorno de la función devolviendo dato_leido
Y luego escribo dato_leido en un excell.
Como digo el problema es que sólo hace cosas raras con ese pequeño rango de valores. En teoría si me llega 0x95 (149decimal), por ejemplo, no debería dar problema, no?