TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: fastyx en 01 de Julio de 2011, 18:55:58
-
Amigos :espero puedan ayudarme. senso el estado de un pin y en funcion de si es uno o cero , coloco ese valor en la posicion cero del array n de 16 posiciones.
luego tengo que desplazar los valores del array una posicion a la derecha.
no pude hacerlo. no me salió.
desde ya gracias!!
-
Con << o >>
A=A<<1;
-
gracias suki por contestar!
cuando te referis a A , estas hablando del nombre del array?
-
gracias suki por contestar!
cuando te referis a A , estas hablando del nombre del array?
No, A es una variable, es un ejemplo solamente... Puedes ser más claro en lo que necesitas, y colocar el código de como lo has intentado ;-)
Saludos!
-
Lo que yo haria:
1- Genero un vector de buck up llamado b de 16 posiciones: intX b[16]
2- Cuando tenga que realizar el corrimiento, primero guardo todos los valores del vector n en b
-
Para correr a la derecha:
recorrer desde el último al primero en orden descendente
array[i]=array[i-1];
Para correr a la izquierda:
recorrer desde el primero al último en orden ascendente
array[i]=array[i+1];
Si quieres conservar el dato que está en el extremo, debes salvarlo en otra variable antes del bucle.
-
Perdon,no se porque no salio completo el mensaje completo.
1- Genero un vector de buck up llamado b: intX b[16]
2- Guardo el contenido del vector n en el vector b:
for(i=0,i<=15,++i)
{b=n}
3- Coloco el valor deseado en la posicion cero del vector n: n[0]=valor
4- Cargo los valores restantes en el vector n con los almacenados en b:
for(i=1,i<=15,++i)
{n=b[i-1]}
Espero que te sirva, sino aclara un poco mas o coloca algo del codigo.
Slds.