TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Josivan en 06 de Enero de 2013, 16:58:22

Título: transferir el valor de una variable a otra bit a bit usando (<<)
Publicado por: Josivan en 06 de Enero de 2013, 16:58:22
Buenos días a todos Foro
Tengo una pregunta y necesito tu ayuda.
Me pregunto cómo puedo girar a la izquierda (<<) el valor de la variable 'A', por lo que para girar, bit a bit se transferirán a otra variable 'B'. :? :?
Título: Re: transferir el valor de una variable a otra bit a bit usando (<<)
Publicado por: willynovi en 06 de Enero de 2013, 17:11:45
No se si en C existe eso, pero puedes usar directamente ASM con las instrucciones RRF y RLF.
Tenes que tener en cuenta que utiliza el registro CARRY.

EDITO: http://www.todopic.com.ar/foros/index.php?topic=25138.0
Título: Re: transferir el valor de una variable a otra bit a bit usando (<<)
Publicado por: Suky en 06 de Enero de 2013, 17:32:06
En C es complejo y lento, una forma que se me ocurre:


Código: C
  1. B=(A>>7)|(B&0xFE);
  2. A<<=1;

Otra:

Código: C
  1. B=(((UINT16)A<<1)>>8)&0x01|(B&0xFE);
  2. A<<=1;

 :mrgreen:

Saludos!
Título: Re: transferir el valor de una variable a otra bit a bit usando (<<)
Publicado por: jukinch en 07 de Enero de 2013, 10:11:14
Hola a todos.
No entiendo el enunciado.
Teniendo el valor de la variable  A    = 11110001
luego del proceso debería quedar A = 11100011
?
Título: Re: transferir el valor de una variable a otra bit a bit usando (<<)
Publicado por: Josivan en 11 de Enero de 2013, 02:18:58
Buenas noches amigos
El problema fue solucionado, he usado una parte de uno y otro y funcionó.

Adaptado en mikroC y funcionó perfectamente.

Doy las gracias a todos por la ayuda.
Título: Re: transferir el valor de una variable a otra bit a bit usando (<<)
Publicado por: jukinch en 11 de Enero de 2013, 21:10:17
Como fue la solución?