TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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
-
Pone un solo & en lugar de dos.
Saludos.
-
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
-
Gracias por su pronta respuesta!
Lo he puesto como lo han mencionado y lo hace perfecto!
GRacias!
Atentamente
Akenafab
-
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:
-
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
-
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
-
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!