Hola, pues lo que veo es que tu variable string simpre sera 1 solo carater, entonce si envias 34 en ascii, el valor que estas poniendo es 34-0x30 = 4, funciona pero no produce ningun efecto porque es pequeño el valor para el PWM , lo que tienes que hacer es usar una funcion que se llama ATOI que convierte un string en un valor entero (respuesta a tu pregunta ), entonces declara tu variable string[3] por ejemplo envia un valor desde VB y aplica la funcion, fijate que solo puede poner hasta 10 bits, para mas informacion consulta por esta funcion en el manual de CCS no dudo que funcione pero inclusive encontraras ejemplos.
espero te sriva.
saludos
Ariel