TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: spaceluis en 13 de Marzo de 2013, 01:50:51
-
hola que que tal, pues necesito que mi arreglo
int arreglo[]={10,15,20} vacie sus valores de 1 en 1 a mi variable x, pero que lo haga condicionado yo tengo el siguente codigo y no esta funcionando siempre nadames entrega el primer valor y ahi se queda. como puedo hacelo?
if(y==1)
{
y=0;
actual=arreglo[i];
j++;
if(j==1000)
{
//j=0;
i++;
}
-
Tal y como está, por este código únicamente pasará cuando y valga 1. No estás iterando en ningún momento.
-
Exacto!. como dice fuente. ahí no haces nada
Algo asi deberías tener...
int arreglo[3]={x1,x2,x3};
if(y==1){
for(i=0;i<3;i++){
actual=arreglo[i];
.....haz lo que necesites
}
}
solo traspasará el valor de arreglo si y=1 caso contrario no hace nada...
Saludos
-
Corregidme si me equivoco pero creo que con arreglo ={0}; funciona...
-
#include <string.h>
...
memset( arreglo
, 0, sizeof( arreglo
));
...
-
#include <string.h>
...
memset( arreglo
, 0, sizeof( arreglo
));
...
Esta es la forma que yo utilizo :mrgreen:
-
Hola, en casí todos los compiladores las funciones memset, memcpy, memcmp están implementadas en assembler y optimizadas para aprovechar las facilidades que proporciona la arquitectura, ejemplos de esto puede ser direccionamiento indirecto, direccionamiento con un registro como índice y post incremento, etc, etc.
Saludos !
-
gracias a todos por sus respuestas!! son muy amables
-
Exacto!. como dice fuente. ahí no haces nada
Algo asi deberías tener...
int arreglo[3]={x1,x2,x3};
if(y==1){
for(i=0;i<3;i++){
actual=arreglo[i];
.....haz lo que necesites
}
}
solo traspasará el valor de arreglo si y=1 caso contrario no hace nada...
Saludos
pic10 gracias por tu ayuda funciona asi como me dices, pero ahora tengo otro problema necesito tener cierto tiempo en cambio y cambio de valores es decir entre X1 y X2 tiene que haber por ejemplo 20 ms de diferencia, tienes alguna idea de como poder hacerlo?...tiene que ser un ciclo que cuando termine de pasar el ultimo valor regrese al primero...