Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

27/10/2014 #1

Avatar de JCAK

Descomponer un valor HEX para leerlo Bit por Bit
Hola Amigos, buenas noches a todos.

Quiero preguntar, más bien pedir, una mano para hacer lo siguiente:
Yo leo un valor HEX de la memoria, por ejemplo 0x56, y ese valor HEX necesitaría convertirlo a binario y leerlo Bit a Bit para manipular cada bit según sea 1 o 0.

No tengo idea de cómo hacer esto porque programo muy básico y por eso recurro al foro, si alguien sería tan amable de tomarse un minuto y pasarme la rutina para lograr esto, le estaría muy agradecido.


Saludos y mil gracias

Julio
27/10/2014 #2


1-que microcontrolador estas usando

2-que lenguaje de programacion usas
27/10/2014 #3
Moderador

Avatar de D@rkbytes

JCAK dijo: Ver Mensaje
Quiero preguntar, más bien pedir, una mano para hacer lo siguiente:
Yo leo un valor HEX de la memoria, por ejemplo 0x56, y ese valor HEX necesitaría convertirlo a binario y leerlo Bit a Bit para manipular cada bit según sea 1 o 0.

No tengo idea de cómo hacer esto porque programo muy básico y por eso recurro al foro, si alguien sería tan amable de tomarse un minuto y pasarme la rutina para lograr esto, le estaría muy agradecido.
Desafortunadamente no especificas el lenguaje de programación que usas.
Pero mira si esta rutina te sirve para lo que quieres hacer. ByteToBin
En todo caso, la puedes convertir a otro lenguaje, pues es sencilla.

Al parecer la rutina expuesta en ese post, cumple con lo que mencionas.
Seguramente tengas que realizar modificaciones para el uso que le piensas dar, pero esa es la idea.

Suerte.
27/10/2014 #4

Avatar de JCAK

Hola y gracias por la ayuda ...

Estoy usando C con un Atmega48 (respondiendo a Proteus7) y para D@rkbytes diria que por lo que vi a simple vista es lo que estoy buscando. Habia buscado en el foro, pero con ese titulo jamas iba a imaginar que era como lo que necesito yo .... ... así que mil gracias. Mañana lo pruebo y les mando mi feedback.

Gracias por la ayuda, que descansen.
28/10/2014 #5

Avatar de TRILO-BYTE

para manipular 1 bit en un registro de la memoria puedes usar mascaras

que son funciones aritmeticas logicas AND, OR, XOR, NOT

digamos que tengo BA

que en binario es: 1011 1010
y lo que queremos es meter un BIT en la casilla 3 de A
1010 OR 100

queda asi 1110

la idea es usar las fuciones propias del CPU sin hacer tanto enbrollo de algoritmos raros en C

no olvides que C tambien podemos ROTAR >> y <<

quedando asi algoritmos de ROTAR BITS

ejemplo

digamos que tenemos una variable con 1 solo bit llamada variable y la queremos manipular un registro de 8 bits llamado registro y queremos que quede cargado con 00001000
quedaria asi:

char variable;
char registro;

variable=1;
registro=variable<<4;

con los mayor que y menor que hacemos funciones de rotar el numero de veces un registro o un bit asi ahorramos tiempo en hacer algoritmos ya que es una funcion propia del CPU
28/10/2014 #6

Avatar de Scooter

Para saber si un bit está activado haz un and 2 elevado al numero del bit.
28/10/2014 #7

Avatar de JCAK

Gracias muchachos ...

En base a lo que me aportaron ustedes y esto otro que envío aqui, que es más de lo mismo pero lo pongo por si a alguie más le ayuda, pude resolver el asunto.
http://www.programmingsimplified.com...imal-to-binary

Muchas gracias
28/10/2014 #8

Avatar de locodelafonola

JCAK dijo: Ver Mensaje
Gracias muchachos ...

En base a lo que me aportaron ustedes y esto otro que envío aqui, que es más de lo mismo pero lo pongo por si a alguie más le ayuda, pude resolver el asunto.
http://www.programmingsimplified.com...imal-to-binary

Muchas gracias
hola amigaso...bueno .. mira ..... yo encontre hace tiempo un tutorial para AVR ...... el asunto que esta para ASM .. pero trata justamente esto de las converciones ..... espero que te sea util http://www.avrbeginners.net/
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.