Autor Tema: Modulo comparador en 12F629  (Leído 2140 veces)

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

Desconectado danfa42

  • PIC10
  • *
  • Mensajes: 4
Modulo comparador en 12F629
« en: 02 de Octubre de 2010, 23:29:22 »
Buenas noches. Estoy tratando de implementar un programita para una modificacion de una placa que anteriormente habia hecho en assembler. Desde que empece con C (no hace mucho) quede prendido por su sencillez. El tema es que ahora quiero utilizar el comparador del 12F629 y no consigo hacerlo andar.
El compilador que uso es el CCS y este es el pregrama que estoy utilizando

#include <12F629.h>
#FUSES NOWDT, INTRC, NOCPD, NOPROTECT, NOMCLR, NOPUT, NOBROWNOUT, BANDGAP_HIGH, RESERVED
#use delay(clock=4000000)

void main()
{
   setup_comparator(A1_VR);
   setup_vref(VREF_LOW|8);

   while(1){
  output_low(PIN_A4);
  delay_ms(10);
  output_high(PIN_A5);
  while (!input(C1OUT)){
  }
  while (input(C1OUT)){
  }
  delay_ms(250);
  output_low(PIN_A5);
  delay_ms(10);
  output_high(PIN_A4);
  delay_ms(250);
  while (!input(PIN_A3)){
    }
  }
}


tengo un fototransistor en la pata 7 y lo que tiene que hacer es esperar una interrupcion del haz de luz, cuando se retorna a la normalidad espera un tiempo y sigue

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Modulo comparador en 12F629
« Respuesta #1 en: 03 de Octubre de 2010, 02:28:06 »
Tu error esta en la forma en que usas C1OUT, ya que este es un bit interno del PIC por lo tanto no necesitas utilizar la funcion input para obtener su valor. Es decir solo necesitas realizar lo siguiente.
Código: C++
  1. while(!C1OUT);
  2.   while(C1OUT);

Otra recomendación es que no necesitas abrir y cerrar llaves para decirle al compilador que el while está vacio, si pones un ";" al final de la linea será suficiente.
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA


 

anything