TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: spaceluis en 13 de Marzo de 2013, 01:50:51

Título: no conozco la sintaxis para que un array vacié sus valores
Publicado 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?

Código: [Seleccionar]
if(y==1)
         {
         y=0;
         actual=arreglo[i];
         j++;
         if(j==1000)
          {
          //j=0;
          i++;
          }
Título: Re: no conozco la sintaxis para que un array vacié sus valores
Publicado por: fuente en 13 de Marzo de 2013, 04:52:12
Tal y como está, por este código únicamente pasará cuando y valga 1. No estás iterando en ningún momento.
Título: Re: no conozco la sintaxis para que un array vacié sus valores
Publicado por: _LAB_ en 13 de Marzo de 2013, 06:52:10
Exacto!. como dice fuente. ahí no haces nada
Algo asi deberías tener...
Código: [Seleccionar]
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
Título: Re: no conozco la sintaxis para que un array vacié sus valores
Publicado por: ppyote en 13 de Marzo de 2013, 09:16:12
Corregidme si me equivoco pero creo que con arreglo ={0}; funciona...
Título: Re: no conozco la sintaxis para que un array vacié sus valores
Publicado por: RICHI777 en 13 de Marzo de 2013, 14:14:55
Código: C
  1. #include <string.h>
  2.  
  3. ...
  4.  
  5. memset( arreglo, 0, sizeof( arreglo ));
  6.  
  7. ...
Título: Re: no conozco la sintaxis para que un array vacié sus valores
Publicado por: RedPic en 13 de Marzo de 2013, 15:47:24
Código: C
  1. #include <string.h>
  2.  
  3. ...
  4.  
  5. memset( arreglo, 0, sizeof( arreglo ));
  6.  
  7. ...

Esta es la forma que yo utilizo  :mrgreen:
Título: Re: no conozco la sintaxis para que un array vacié sus valores
Publicado por: RICHI777 en 13 de Marzo de 2013, 15:53:29
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 !
Título: Re: no conozco la sintaxis para que un array vacié sus valores
Publicado por: spaceluis en 18 de Marzo de 2013, 13:49:05
gracias a todos por sus respuestas!! son muy amables
Título: Re: no conozco la sintaxis para que un array vacié sus valores
Publicado por: spaceluis en 18 de Marzo de 2013, 14:23:42
Exacto!. como dice fuente. ahí no haces nada
Algo asi deberías tener...
Código: [Seleccionar]
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...