Se me ocurre que puedes ser por éstos detalles:
- La variable Char está formada por 7 elementos, pero se están usando 8. Entonces debe ser Char Var Byte[8] (Casi siempre se usan 7, pero estando en 8 puede servir para crear otros caracteres personalizados.)
- El retardo de PauseUs lo llevaste hasta 1100 us. Déjalo en 500 us.
- La creación de las letras debe ser de la siguiente forma...
Éste es un ejemplo para la letra "a" minúscula:
![Letra a minúscula.jpg Letra a minúscula.jpg](https://www.forosdeelectronica.com/data/attachments/101/101712-38ded24e815824d5240948a5b5291bfe.jpg)
Entonces se genera el siguiente código:
Char[8] = %00000000
Char[7] = %00000000
Char[6] = %00000000
Char[5] = %00000000
Char[4] = %00001111
Char[3] = %00010101
Char[2] = %00010101
Char[1] = %00010010
Nota que siempre debe quedar un espacio en blanco para separar las letras.
En este caso está formado por ceros, entonces sobran: Char[8], Char[7] y Char[6]
Éstos se deben eliminar y Char[5] que está formado por ceros, será el espacio entre letras.
Por lo tanto, la variable Char_Length debe tener el valor 5.
Otro ejemplo ahora con la "A" mayúscula:
![Letra A mayúscula.jpg Letra A mayúscula.jpg](https://www.forosdeelectronica.com/data/attachments/101/101713-93f21f96566537722dbf85a7654d7dbc.jpg)
Se obtendrá el siguiente código:
Char[8] = %00000000
Char[7] = %00000000
Char[6] = %00000000
Char[5] = %01111111
Char[4] = %10001000
Char[3] = %10001000
Char[2] = %10001000
Char[1] = %01111111
Aquí sobra; Char[8] y Char[7] porque Char[6] será el espacio de separación entre letras.
Por lo tanto se eliminan y Char_Length deberá tener el valor 6.
Espero hayas entendido. Ahora modifica lo que te mencioné y realiza una prueba.
PD:
Los caracteres los puedes formar de la manera que quieras, pero debes tener en cuenta iniciar a crearlos desde la izquierda hacia la derecha y los espacios sobrantes, eliminarlos.