Como puedo rotar un byte en C para micros

Tengo un pequeño problema, y no se como resolverlo, uso el programa Keil para programa el 89at2051, necesito pasar los datos de un byte por un pin del puerto, y no puedo usar Txd, Rxd, para pasar los datos en serie, se que en C el comando "<<" hace que rote los bits del acumulador, pero en Keil y el micro no lo admite, para ello pense usar las funciones intrinsecas "_iror_" que rotan datos int, pero no se como funciona la función. Tengo una variable que va de 0-255 y luego lo paso al P1 y quiero rotarlo para pasar los datos, bueno ese es mi problema espero haberme explicado bien, en conclusión como se usa la función intrínseca _iror_ para poder rotar un dato int.

1 Respuesta

Respuesta
1
No he trabajado con ese uC ni con Keil, pero si dices que la variable es entre o y 255 se puede manejar con 8 bits, por lo que podrías usar instrucciones assembler del uC. Si es que Keil permite incluir lineas en assembler.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas