.
Hola. No se si te sirva, pero se me ocurre que podrías declarar unas cuantas variables para unidad, decena, centena, u. de mil.. etc, que al final conformarán el número decimal correspondiente al hexadecimal que recibe el pic, porque semejante número no va a caber en un byte y me parece la forma más cómoda de almecenarlos para usarlos luego. Entonces vas realizando la conversión bit por bit del string y aumentando primero la variable unidad, si esta llega a 9, aumentás la decena.. y así hasta terminar con todo el string.
Es sólo una idea, la verdad no quisiera estar en tus zapatos a la hora de codificar eso
Saludos.