Autor Tema: Problema al compilar usando KBD.c  (Leído 7961 veces)

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

Desconectado chingolo

  • PIC10
  • *
  • Mensajes: 17
Problema al compilar usando KBD.c
« en: 24 de Junio de 2010, 18:18:15 »
Hola, saque el ejemplito de un libro, tengo el codigo en C en el cual utiliza un teclado matricial, cuando quiero compilar me salta 4 errores en kbd.c
undefined identifier set_tris_d
tendre que modificar el kbd.c para usar el puerto b??
adjunto el codigo

#include <16F876.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock= 4000000)       

#include <lcd.c>
#include <kbd.c>
       

void main() {
   char k;
   int  x;
         
   lcd_init();
   kbd_init();
   port_b_pullups(TRUE);

   lcd_putc("\fListo...\n");
                                   
   while (TRUE) {
      k=kbd_getc();
      x=k-48;                             //Conversión numérica
      if(k!=0){
        if(k=='*') 
          lcd_putc('\f');
        else
           lcd_putc(k);             //Imprime carácter
           delay_ms(500);
           printf(lcd_putc,"\f Car=%c",k); //Imprime carácter
           delay_ms(500);
           printf(lcd_putc,"\f Car=%u",k); //Imprime valor ASCII
           delay_ms(500);
           printf(lcd_putc,"\f Num=%u",x); //Imprime valor numérico
           delay_ms(500);
           lcd_putc("\fListo...\n");
      }
   }
}
gracias!!! estoy dando mis primeros pasos, pido paciencia.

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Problema al compilar usando KBD.c
« Respuesta #1 en: 24 de Junio de 2010, 19:46:12 »
Hola, el PIC16F876 solo tiene 3 puertos A, B y C.  Es cierto que al comienzo de la librería KBD.c encuentras estas líneas:

// Un-comment the following define to use port B
// #define use_portb_kbd TRUE
// Make sure the port used has pull-up resistors (or the LCD) on
// the column pins

Sin embargo no es necesario que modifiques esta librería, sino que simplemente insertas #define use_portb_kbd TRUE antes de la instrucción #include <kbd.c> y con eso tienes ya configurada la librería para usarla con el puerto B.  Te quedaría el encabezado más o menos así:

Código: [Seleccionar]
#include <16F876.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock= 4000000)

#define use_portb_kbd TRUE

#include <lcd.c>
#include <kbd.c>
        

void main() {

Si estabas usando el puerto B para otras cosas debes reubicarlas en pines de otro(s) puerto(s) y actualizar el código de acuerdo a esto.

Suerte con tu proyecto!
« Última modificación: 24 de Junio de 2010, 19:52:07 por bmb »

Desconectado Correia

  • PIC10
  • *
  • Mensajes: 39
Re: Problema al compilar usando KBD.c
« Respuesta #2 en: 27 de Noviembre de 2011, 20:15:48 »
buenas tambien tengo un problema con la libreria kbd.c del CCS cuando copilo me aparece error y me salta a la libreria y aparace en varias lineas este msj "indefinido identificador kbd" =s me desespera antes de incluir kbd.c defini use_portb_kbd true, pero cuando copilo me sale el msj que dije anteriormete y me señala el kbd = 6.
-Tsuki no Tamashi
-Microcontroladores
-Robotica
-Evangelion
-Einstein


 

anything