Autor Tema: Problema en decodificar un byte  (Leído 2378 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gabriel

  • PIC10
  • *
  • Mensajes: 2
Problema en decodificar un byte
« en: 20 de Marzo de 2008, 13:52:33 »
Hola a todos les comento mi problema; estoy tomando datos via rs232 9600 8n1 almaceno el byte de cada dato por ejemplo
01100110 necesito pasar esa informacion en forma modulada es decir que los 0 tengan 10 ms en alto y los 1 tenga 30 ms segundos en alto a la salida de unas de las patas del mircro las pasua entre bit son de 20 ms y, el tema es el siguiente yo tomomo los datos y los almaceno en forma binaria pero no se me ocurre como leer del dato cada bit es desir, si el bit 1 es 0 o uno y salir modulando si es 0 10 ms en alto y si es 1 30 ms en alto , luego seguir con el bit 2 y asi por ejemplo hasta terminar con el 7 bit.

Alguna sugerencia .

Desde ya gracias .

 

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: Problema en decodificar un byte
« Respuesta #1 en: 20 de Marzo de 2008, 15:07:19 »
Gabriel,

Antes que nada bienvenido al foro. La solucion a tu problema es simple, simplemente realiza la lectura del primer bit, supongamos el menos significativo, despues haces una rotacion hacia la derecha, por lo que el siguiente bit tomara la posicion del menos significativo. Si realizas la operacion 7 veces, obtendras lo que deseas.

No mencionas el lenguajes que estas usando, pero debido a que colocaste el post en el subforo de Basic asumo que estas usando o PBP o Proton.
Revisate el manual del lenguaje que estas usando y busca lo refetente a SHIFT. Que es una funcion para hacer corriemientos a la derecha o a la izquierda.

Saludos.

Elreypic.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Problema en decodificar un byte
« Respuesta #2 en: 20 de Marzo de 2008, 15:31:56 »
Hola, no soy experto en Basic Pro...pero la idea seria esta, tendrias que desplaxar un bit a la derecha como dijeron...si no encontras como hacerlo, podes usar la division por 2... Es decir dividir por 2 es lo mismo que desplazar el contenido hacia la derecha, una vez que haces esto tenes andear ( AND ) con 1 si el resultado de la operacion es verdadero entonces el bit menos significativo es 1 en otro caso es 0.
Saludos !

Desconectado gabriel

  • PIC10
  • *
  • Mensajes: 2
Re: Problema en decodificar un byte
« Respuesta #3 en: 20 de Marzo de 2008, 17:09:29 »
gracias por su respuestas voy ha hacer unas prueba y les comento.

 :-)


 

anything