SoloCodigo

Programación Específica => Microcontroladores => Programación en C => Mensaje iniciado por: Quicksilver en Sábado 18 de Octubre de 2008, 16:56

Título: MANEJO DE ENCODER
Publicado por: Quicksilver en Sábado 18 de Octubre de 2008, 16:56
Un saludo a toso los foreros.

Tengo una duda, espero que sea trivial, hace poco vengo manejando un encoder y he realizado un programa para que el pic me cuente pulsos con el timer1, y mostrarlos por una lcd, sin embargo, me aparece puros caracteres extraños en la lcd, no se que pueda ser, expondré el código mas abajo.

Código: Text
  1. #include <18F4455.h>
  2. #use delay(clock=20000000)
  3. #fuses HS,NOWDT,NOPROTECT
  4. #define use_portb_lcd TRUE
  5. #include <LCD.C>
  6. #include <stdio.h>
  7.  
  8.  
  9.  
  10. void main()
  11. {
  12.    int16 contador_encoder;
  13.    setup_timer_1(T1_EXTERNAL);
  14.    contador_encoder=0;
  15.    while(true)
  16.    {
  17.    contador_encoder=get_timer1();
  18.    lcd_putc("f");
  19.    lcd_gotoxy(1,1);
  20.    if(contador_encoder>504)
  21.    {
  22.       output_high(pin_A5);
  23.  
  24.    }
  25.  
  26.    //printf(LCD_PUTC,"ncontador encoder=%LUn", contador_encoder);
  27.    PRINTF(LCD_PUTC,"contador encoder %lu", contador_encoder);
  28.    }
  29. }
  30.  


Quiero contar pulsos, la variable que me los cuenta es contador_encoder, y quisiera que cuando el contador sea mayor a 504, se me prenda un led ubicado en el pin_A5, aparte de esto, que me muestre la cantidad de pulsos en la lcd, espero que me puedan ayudar.

Muchisimas gracias de antemano.    :good: