Autor Tema: Tutorial C18  (Leído 57605 veces)

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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Tutorial C18
« Respuesta #15 en: 18 de Agosto de 2010, 04:13:21 »
Muy bueno Suky, felicitaciones!
Parece que te tomaste el trabajo de editarlo en LaTeX, puede ser?

Sip... Mi practica de latex  :mrgreen:


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Tutorial C18
« Respuesta #16 en: 18 de Agosto de 2010, 04:19:39 »
Magnífico trabajo, Suky. Felicidades y gracias por compartirlo.

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Re: Tutorial C18
« Respuesta #17 en: 25 de Agosto de 2010, 22:22:25 »
He estado tratando de hechar a andar el ejemplo con LCD paralelo pero mis intentos han sido fallidos.... :(

me marca este error y no se a que se deba

Error - could not find definition of symbol 'ComandXLCD' in file 'C:\Micro_c\Objects\lcd_paralelo.o'.


Lo que no me destruye, me fortalece

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Tutorial C18
« Respuesta #18 en: 25 de Agosto de 2010, 23:33:17 »
He estado tratando de hechar a andar el ejemplo con LCD paralelo pero mis intentos han sido fallidos.... :(

me marca este error y no se a que se deba

Error - could not find definition of symbol 'ComandXLCD' in file 'C:\Micro_c\Objects\lcd_paralelo.o'.




Por lo visto has declarado la función ComandXLCD pero en ningún lado la definiste (Las instrucciones que la componen).


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Re: Tutorial C18
« Respuesta #19 en: 26 de Agosto de 2010, 15:12:44 »
tuve que realizar lo siguiente para que me funcionara....

#include <p18f4610.h>
#include <delays.h>
#include <xlcd.h>

#pragma config OSC=HS,FCMEN=OFF,IESO=OFF
#pragma config PWRT=ON,BOREN=OFF,BORV=0,WDT=OFF,WDTPS=32768
#pragma config MCLRE=ON,LPT1OSC=OFF,PBADEN=OFF,CCP2MX=PORTBE
#pragma config STVREN=OFF,LVP=OFF,XINST=OFF,DEBUG=OFF
#pragma config CP0=OFF,CP1=OFF,CP2=OFF,CP3=OFF,CPB=OFF
#pragma config WRT0=OFF,WRT1=OFF,WRT2=OFF,WRT3=OFF,WRTB=OFF,WRTC=OFF
#pragma config EBTR0=OFF,EBTR1=OFF,EBTR2=OFF,EBTR3=OFF,EBTRB=OFF

void DelayFor18TCY(void);
void DelayPORXLCD(void);
void DelayXLCD(void);
void gotoxyXLCD(unsigned char x,unsigned char y);

void main(void)
{
    ADCON1=15;
    OpenXLCD(FOUR_BIT & LINE_5X10);      //Iniciamos el LCD
    BusyXLCD();
    WriteCmdXLCD(0X06);               //Nos aseguramos incremento de direccion, display fijo
    BusyXLCD();
    WriteCmdXLCD(0X0C);               //Encendemos LCD
    gotoxyXLCD(1,1);
    putrsXLCD("Probando Lcd");
   gotoxyXLCD(1,2);               //Pasamos a la linea 2
   putrsXLCD("Por Palomino");
   while(1)
   {
    }
}


void DelayFor18TCY(void)
{
   Delay10TCYx(2);
}
void DelayPORXLCD(void)
{
   Delay1KTCYx(15);
}
void DelayXLCD(void)
{
   Delay1KTCYx(2);
}
void gotoxyXLCD(unsigned char x,unsigned char y)      //Ubica cursor en (x=Posicion en linea; y= Numero de Linea)
{
   unsigned char direccion;
   
   if (y != 1)
      direccion=0x10;
   else
      direccion=0;

   direccion += x-1;
   WriteCmdXLCD(0x80 | direccion);
}
Lo que no me destruye, me fortalece

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Re: Tutorial C18
« Respuesta #20 en: 26 de Agosto de 2010, 15:17:22 »
Declare pero no defini.....

Segun yo ya estan definidas en las librerias. Adjunto una imagen de como tengo las librerias...

Saludos
Lo que no me destruye, me fortalece

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Tutorial C18
« Respuesta #21 en: 26 de Agosto de 2010, 15:32:34 »
En el mensaje de error dice que dentro del archivo lcd_paralelo.c no esta definida la función CommandXLCD.. Seguramente en algún lado del programa la llamabas y está no existía.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Re: Tutorial C18
« Respuesta #22 en: 26 de Agosto de 2010, 15:57:36 »
Si tienes razon... jejeje ya me di cuenta donde estaba el problema

Gracias
Lo que no me destruye, me fortalece

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Re: Tutorial C18
« Respuesta #23 en: 31 de Agosto de 2010, 20:00:57 »
Hola que tal;

Alguien me podría echar la mano con el ejemplo de Modificación de la librerías..... ya tengo rato batallando y no logro cambiarlo del puerto B al puerto D, estoy usando un pic18F4610.... y me queda de la siguiente manera

Codigo:

#include <p18f4610.h>
#include <delays.h>
#include <xlcd.h>

#pragma config OSC=HS,FCMEN=OFF,IESO=OFF
#pragma config PWRT=ON,BOREN=OFF,BORV=0,WDT=OFF,WDTPS=32768
#pragma config MCLRE=ON,LPT1OSC=OFF,PBADEN=OFF,CCP2MX=PORTBE
#pragma config STVREN=OFF,LVP=OFF,XINST=OFF,DEBUG=OFF
#pragma config CP0=OFF,CP1=OFF,CP2=OFF,CP3=OFF,CPB=OFF
#pragma config WRT0=OFF,WRT1=OFF,WRT2=OFF,WRT3=OFF,WRTB=OFF,WRTC=OFF
#pragma config EBTR0=OFF,EBTR1=OFF,EBTR2=OFF,EBTR3=OFF,EBTRB=OFF

void DelayFor18TCY(void);
void DelayPORXLCD(void);
void DelayXLCD(void);
void gotoxyXLCD(unsigned char x,unsigned char y);
void comandXLCD(unsigned char a);

void main(void)
{
    ADCON1=15;
    OpenXLCD(FOUR_BIT & LINE_5X10);      //Iniciamos el LCD
    comandXLCD(0x06);
    comandXLCD(0x0C);
    gotoxyXLCD(1,1);
    putrsXLCD("Lcd");
   gotoxyXLCD(1,2);               //Pasamos a la linea 2
   putrsXLCD("Palomino");
   while(1)
   {
    }
}

void DelayFor18TCY(void)
{
   Delay10TCYx(2);
}
void DelayPORXLCD(void)
{
   Delay1KTCYx(15);
}
void DelayXLCD(void)
{
   Delay1KTCYx(2);
}

void comandXLCD(unsigned char a)
{
   BusyXLCD();
   WriteCmdXLCD(a);
}

void gotoxyXLCD(unsigned char x,unsigned char y)      //Ubica cursor en (x=Posicion en linea; y= Numero de Linea)
{
unsigned char direccion;
   
   if (y != 1)
      direccion=0x10;
   else
      direccion=0;

   direccion += x-1;
   WriteCmdXLCD(0x80 | direccion);
}

Librería:

#define UPPER

/* DATA_PORT defines the port to which the LCD data lines are connected */
#define DATA_PORT      PORTD
#define TRIS_DATA_PORT TRISD
   
/* CTRL_PORT defines the port where the control lines are connected.
 * These are just samples, change to match your application.
 */
#define RW_PIN   LATDbits.LATD1   /* PORT for RW */
#define TRIS_RW  TRISDbits.TRISD1    /* TRIS for RW */
#define RS_PIN   LATDbits.LATD0   /* PORT for RS */
#define TRIS_RS  TRISDbits.TRISD0    /* TRIS for RS */
#define E_PIN    LATDbits.LATD2   /* PORT for D  */
#define TRIS_E   TRISDbits.TRISD2    /* TRIS for E  */



Saludos
Lo que no me destruye, me fortalece

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Tutorial C18
« Respuesta #24 en: 31 de Agosto de 2010, 20:14:39 »
Cargaste los archivos fuentes al proyecto para re-generar los archivos objects?


No contesto mensajes privados, las consultas en el foro

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 666
Re: Tutorial C18
« Respuesta #25 en: 31 de Agosto de 2010, 20:45:51 »
Hola Suky, Acabo de bajar tu tutorial sobre c18 me parece muy bien de tu parte y grascias por tu tiempo dedicado a ayudar a todos en el foro yo no trabajo con c pero hoy buscare el instalador de c18 para hacer mis primeros ejemplo con ese compilador.

Saludos y proton les comento mis avances.
Atten.
Alexander Santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Re: Tutorial C18
« Respuesta #26 en: 01 de Septiembre de 2010, 13:03:46 »
Tienes razón Suky, Gracias

Adjunto el  programa de ejemplo pero con el pic18f4610 con las siguientes notas para que quede para la posteridad. Saludos

Nota: Por default los pines del Puerto B son los que se utilizan para
la comunicacion del display paralelo. Para cambiar de puerto se deben
realizar los siguientes pasos:

1.- En la librería xlcd.h se descomenta la parte "#define UPPER"

2.- Se cambian los siguientes parametros por el puerto a utilizar:
#define DATA_PORT      PORTx
#define TRIS_DATA_PORT TRISx
#define RW_PIN   LATxbits.LATx0      (PORT for RW)
#define TRIS_RW  TRIxbits.TRISx0    (TRIS for RW)
#define RS_PIN   LATxbits.LATx1      (PORT for RS)
#define TRIS_RS  TRISxbits.TRISx1    (TRIS for RS)
#define E_PIN    LATxbits.LATx2      (PORT for D)
#define TRIS_E   TRISxbits.TRISx2    (TRIS for E)
-donde "x" es el puerto a utilizar

3.- Agregar los siguientes archivos en Source File:
*busyxlcd.c *openxlcd.c *putsxlcd.c *readaddr.c *readdata.c
*setcgram.c *setddram.c *wcmdxlcd.c *writdata.c
que se encuentran en C:\MCC18\src\pmc_common\XLCD
Lo que no me destruye, me fortalece

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Tutorial C18
« Respuesta #27 en: 01 de Septiembre de 2010, 13:39:42 »
Tienes razón Suky, Gracias

Hay que leer más detenidamente el tutorial, sino no tiene razón de ser!  :mrgreen:


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado meledu

  • PIC12
  • **
  • Mensajes: 83
Re: Tutorial C18
« Respuesta #28 en: 01 de Septiembre de 2010, 14:23:03 »
como dogflu tu tambien? pero si tu haces marabillas con el pic basic del psi


Gracias suky, ya estoy revisando la actualización.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Tutorial C18
« Respuesta #29 en: 01 de Septiembre de 2010, 14:24:59 »
como dogflu tu tambien? pero si tu haces marabillas con el pic basic del psi


Gracias suky, ya estoy revisando la actualización.

Hay que expandir conocimientos y no considerar que has alcanzado tu limite  ;-)

Saludos!
No contesto mensajes privados, las consultas en el foro


 

anything