Hola a todos. Necesito una gran ayuda. Me acuerdo que cuando programaba sobre pc en c ponia a todos los datos int y listo me compilaba y funcionaban al pelo. Soy nuevo programando microcontroladores y estoy usando el LPC1769, es de 32 bits, como se que ocupar espacio en memoria en un micro es bastante malo me propuse a comenzar a reducir tamano a las variables, pero en esto me estoy haciendo un lio. Tengo un programa que cada vez que le cambio el tipo de dato hace algo bien no hace nada o directamente me pone basura. El programa consiste en mostrar un numero de 1 a 6 digitos en display siete segmentos. Primero declare un vector unsigned long de 10 posiciones donde en cada posicion muestro el numero correspondiente en el display correspondiente, es decir que si pongo vect_b0[0] me muestra cero en el display menos significativo. Despues un vector entero unsigned long que contiene la descomposicion del numero a escribir y un unsigned long i que es el indice del vector anterior. Ahora viene el problema y mi duda el programa manda a escribir basura o escribi algunos numeros y otros no. Lo depure paso a paso y el problema esta cuando mando el valor, es decir el vector que contiene el numero a escribir se carga perfectamente, el valor del contador de indice funciona perfectamente tmb pero cuando manda a escribir el numero en el display o bien no me escribe o me muestra cualquier cosa. Alguien sabe porque esta pasando esto?
Ahora viene mi duda pongamos que declaro un array como unsigned long. Dentro de ese array no puede ir un numero mas grande que unsigned long no? y el contador de indice como lo tendria que declarar. Me estoy haciendo un lio barbaro. Seria correcto en mi caso, declarar unsigned long al primer vector, unsigned short al segundo vector, y unsigned short al indice de este ultimo?. porque lo hago asi y me muestra basura en un solo display.