Autor Tema: Comparar registros de 16 bits  (Leído 1997 veces)

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

Desconectado Francirius

  • PIC10
  • *
  • Mensajes: 32
Comparar registros de 16 bits
« 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++
  1. if(TFB==0x11FA){
  2.       output_high(PIN_B1);                //4,6 ms= 0x11fa, si se cumple, prende led.
  3.       }

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!

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Comparar registros de 16 bits
« Respuesta #1 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.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Comparar registros de 16 bits
« Respuesta #2 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.
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado Francirius

  • PIC10
  • *
  • Mensajes: 32
Re: Comparar registros de 16 bits
« Respuesta #3 en: 12 de Enero de 2011, 15:05:49 »
Gracias compañeros, voy a probar esa linea!