Hola amigos, estoy tratando de hacer el scroll de una matriz de LEDs, y estoy pasandola mal, a grandes rasgos mi problema particular es el siguiente:
Yo tengo guardados mis caracteres en la EEPROM de mi 16F887, en grupos de 4 a 8 bytes, dependiendo del ancho de cada uno, y utilice la directiva #rom para ello, de la siguiente forma:
#rom 0x2100 = { 0x06,0xFC,0x12,0x11,0x11,0x12,0xFC } //A
#rom 0x2107 = { 0x06,0xFF,0x89,0x89,0x89,0x89,0x76 } //B
#rom 0x210E = { 0x06,0x7E,0x81,0x81,0x81,0x81,0x42 } //C
#rom 0x2115 = { 0x06,0xFF,0X81,0X81,0X81,0X42,0X3C } //D
despues definí el inicio de cada caracter asi:
#define MAY_A 0x00
#define MAY_B 0x07
#define MAY_C 0x0E
#define MAY_D 0x15
Donde cada etiqueta de cada caracter contiene la dirección en la cual comienza cada caracter, el primer byte de cada uno, indica la cantidad de bytes que forman el caracter, y los demás son el caracter en sí, de esta forma solo esperaba leer el primero para saber el ancho y la dirección de inicio y de esta forma volcarlo en la matriz.
Posteriormente, a la hora de querer utilizar cada caracter, guardo la dirección de inicio de cada uno en una matriz llamada buffer[], que declaré sin definir cuantos bytes tiene, para escribir textos de diferentes longitudes. De esta forma guardo las direcciones en el buffer:
case 'A': buffer[char_counter]=(MAY_A); break;
case 'B': buffer[char_counter]=(MAY_B); break;
case 'C': buffer[char_counter]=(MAY_C); break;
case 'D': buffer[char_counter]=(MAY_D); break;
Hasta aquí todo bien, el problema está cuando quiero acceder a la información que contiene cada miembro de mi matriz buffer[], que debe tener la dirección de inicio de cada caracter, y es que he tratado de guardar el contenido por medio de apuntadores asi:
no_bytes=*buffer[0];
Se supone que de esta forma estoy accediendo a la informacion que hay en la dirección buffer[0], que es la dirección del primer byte que me dice cuantos bytes tiene, pero solo me sale 0x00, lo cual es incorrecto.
Leyendo por allí me dí cuenta que solo se puede usar un apuntador inicializandolo como tal, pero la verdad no estoy seguro como se haría en mi caso, ya que la información de las direcciones no las puedo guardar en formato de apuntador, alguien me puede hechar una mano?
Gracias.