TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: AKENAFAB en 21 de Julio de 2008, 22:11:43

Título: Filtrar datos
Publicado por: AKENAFAB en 21 de Julio de 2008, 22:11:43
Hola

Saludos a todos!

Tengo un problema  me quedado bloqueado  :z)

¿ Cómo realizo un filtro de un dato ?

En assembly solo hacia una operación AND pero en C , utulizo el ccs c compiler, no lo puedo hacer.

Leo el puerto

 Dato=input_b();  // leo el puerto

luego lo quiero filtrar

 Dato=(Dato && 0x0F); // me parece que esto no es lo correcto.

ENtonces si Dato contiene 0x83
despues dela intruccion me quedaria
Dato= 0x03

pero al parecer siempre queda en 1

Agradezco su ayuda!

Atentamente
 Akenafab
Título: Re: Filtrar datos
Publicado por: BrunoF en 21 de Julio de 2008, 22:35:03
Pone un solo & en lugar de dos.

Saludos.
Título: Re: Filtrar datos
Publicado por: gera en 21 de Julio de 2008, 23:26:06
exacto, el doble && es un AND lógico de dos proposiciones, en cambio si pones uno solo & es un AND binario... osea q hace un AND con los bits correspondientes de ambas variables
Título: Re: Filtrar datos
Publicado por: AKENAFAB en 22 de Julio de 2008, 00:00:35

Gracias por su pronta respuesta!

Lo he puesto como lo han mencionado y lo hace perfecto!

GRacias!

Atentamente
 Akenafab
Título: Re: Filtrar datos
Publicado por: NarXEh en 22 de Julio de 2008, 18:06:25
Buenas tardes!

en si, yo no se todabia programar en C pero para filtrar datos no se puede usar un If ? (es solo una sugerencia)

Perdonen si mando cualquier fruta, es que despues de pascal y ensamblador se me a quemado el balero  :shock:

Saludos!

NärXEh  :mrgreen:
Título: Re: Filtrar datos
Publicado por: jfh900 en 22 de Julio de 2008, 20:02:12
Lo que realmente quiere hacer AKENAFAB es "enmascarar" un dato y no filtrarlo. El valor 0x0F es la mascara que se aplica al dato.

Un saludo
Título: Re: Filtrar datos
Publicado por: NarXEh en 23 de Julio de 2008, 13:50:56
Lo que realmente quiere hacer AKENAFAB es "enmascarar" un dato y no filtrarlo. El valor 0x0F es la mascara que se aplica al dato.

Un saludo

Ahh es verdad! gracias por la aclaracion.

Habia leido distraidamente  :D

saludos!

NärXEh
Título: Re: Filtrar datos
Publicado por: AKENAFAB en 09 de Agosto de 2008, 06:19:38
Lo que realmente quiere hacer AKENAFAB es "enmascarar" un dato y no filtrarlo. El valor 0x0F es la mascara que se aplica al dato.

Un saludo

Exactamente,  :mrgreen: , enmascaramiento de datos , si que andaba perdido , me sacaron de un lio que me quede bloqueado  :z).

Gracias nuevamente!

A la otra no se me olvidará  !

Saludos!