Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Francirius en 09 de Enero de 2011, 17:55:52
Título: Comparar registros de 16 bits
Publicado por: Francirius en 09 de Enero de 2011, 17:55:52
Hola amigos foreros, estoy tratando de hacer un programa que me detecte un pulso de determinado ancho. Para esto mido el ancho del pulso (ningun problema hasta aqui) y luego quiero, con la funcion IF, haga algo. La cosa es que uso el TIMER1 de 16 bits para esto, y no me ha resultado la comparacion.
Código: C++
if(TFB==0x11FA){
output_high(PIN_B1);//4,6 ms= 0x11fa, si se cumple, prende led.
}
Esta es una parte del codigo, pero no estoy seguro si en la condicion se puede comparar registros de 16 bits. Por si acaso, el "TFB" es el registro de 16 bits en donde guardo el valor del ancho del pulso.
De antemano muchas gracias!
Título: Re: Comparar registros de 16 bits
Publicado por: AngelGris en 09 de Enero de 2011, 19:45:18
Si puede tranquilamente hacer un IF entre una variable de 16 bits y un valor u otra variable de 16 bits.
Título: Re: Comparar registros de 16 bits
Publicado por: ppyote en 09 de Enero de 2011, 19:54:21
si puedes hacerlo, como capturas el valor del tiempo del pulso? tiene que ser ese valor tan justo para que se active el led? mejor pon esto, ya que bede de ser ese valor exacto para que se encienda el led, dale un poco de histeresis
1.if((TFB>=0x11FA)&&(TFB<=0x1200)){ output_high(PIN_B1);} // si se cumple, prende led.3.
Título: Re: Comparar registros de 16 bits
Publicado por: Francirius en 12 de Enero de 2011, 15:05:49