Autor Tema: Aprendamos a usar e Cpik (mejor el SDCC)  (Leído 16185 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado SimonMG

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 172
Re: Aprendamos a usar e Cpik (mejor el SDCC)
« Respuesta #30 en: 30 de Marzo de 2007, 12:14:21 »
Parece que el problema con la libreria del delay es generalizada, a mi tambien me trajo dolores de cabeza, la solución la consegui en la paguina de iearobotics en donde se hicieron elos mismos la libreria

Código: [Seleccionar]
/****************************************************************************/
/* delay0.h      Junio-2004                                                  */
/*---------------------------------------------------------------------------*/
/* Ejemplo para el skybot                                                    */
/*---------------------------------------------------------------------------*/
/* Este fichero esta pensado para ser incluido en el programa principal.     */
/* Antes de utilizar la funcion delay0() es necesario llamar a               */
/* timer0_configurar() para configurar correctamente el timer 0              */
/*---------------------------------------------------------------------------*/
/* Utilizacion del temporizador 0 para generar una pausa de 10ms y           */
/* obtener una rutina de delay en unidades de 10ms                           */
/* No se utilizan interrupciones                                             */
/* El temporizador 0 es de 8 bits                                            */
/*---------------------------------------------------------------------------*/
/*  Andres Prieto-Moreno <andres@ifara.com>                                  */
/*  Juan Gonzalez <juan@iearobotics.com>                                     */
/*---------------------------------------------------------------------------*/
/*  LICENCIA GPL                                                             */
/*****************************************************************************/

//-- Definiciones
#define TICKS10 0x3D  // Valor con el que inicializar contador para
                      // conseguir TICKs de 10ms

/************************************/
/* Configurar el temporizador 0     */
/************************************/
void timer0_configurar()
{
  //-- Usarlo en modo temporizador, prescaler = 256
  OPTION_REG=0x87;
}

/************************************************/
/* Hacer una pausa en unidades de 10ms          */
/* ENTRADA:                                     */
/*   -pausa: Valor de la pausa en decenas de ms */
/************************************************/
void delay0(unsigned char pausa)
{
 
  //-- Esperar hasta que trancurran pausa ticks de reloj
  while(pausa>0) {
    TMR0=TICKS10;   // Inicializar contador
    T0IF=0;         // Quitar flag overflow
    //-- Esperar hasta que bit T0IF se ponga a '1'. Esto
    //-- indica que han transcurrido 10ms
    while (!T0IF);
     
    //-- Ha transcurrido un tick
    pausa--;
  }   
}

tiene licencia GPL
"La politica es para ahora, una ecuacion es para siempre"
Albert Einstein

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Aprendamos a usar e Cpik (mejor el SDCC)
« Respuesta #31 en: 30 de Marzo de 2007, 12:23:14 »
voy a intentar con ese código que posteaste. (usaron el retardo por timer)

Gracias Simon
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado MicroExpert

  • PIC10
  • *
  • Mensajes: 19
    • JDM
Re: Aprendamos a usar e Cpik (mejor el SDCC)
« Respuesta #32 en: 30 de Marzo de 2007, 13:01:25 »
Hola a todos...

Lo que sucede es que la mayor parte de herramientas estan echas para Windows y por eso como recien estoy experimentando con SDCC tengo que utilizar Windows... Ademas el SDCC es codigo libre, con lo que se podria hacer modificaciones directas para el uso de los PICs, por eso no utilizo otros compiladores...

Si alguien sabe por que sale ese error..me pueden ayudar, por que supuestamente el error esta en la libreria... Por que si obtengo el .asm y el .o.
Aprender es facil, intentalo.
Mi Pagina

Desconectado SimonMG

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 172
Re: Aprendamos a usar e Cpik (mejor el SDCC)
« Respuesta #33 en: 30 de Marzo de 2007, 15:30:24 »
no se en detalles la diferencia de gpasm y el asm del MPALB se que las hay pero no se donde, igual que el sdcc y C18, el cpik y el sdcc, etc... yo personal mente recomiendo que si an a trabajar en linux utilicen las erramientas de linux, en cambio si trabajan con windows utilicen las erramientas de windows, en resumen se le hará mas facil de cualquiera de las dos maneras. Pro ende si utilizas el SDCC utiliza el gpasm porque creo que el error esta en la nomenclatura del asm, entre MPLAB y GPASM hay muchas diferencias creo que el problema esta en la nomenclatura del codigo, el sdcc nesesita del gpasm en las paguina del sdcc lo dice, instala el gpasm en windows y compila el asm con gpasm, disculpa lo de las librerias, tienes razon si tubieras problemas con las librerias no pudieras obtener el asm y el .o, pero el sdcc esta fincionando correctamente no tienes errores de codigo, como dije el problema esta en la nomenclatura del asm instala gpasm y construye el hex desde el gpasm

Saludos
"La politica es para ahora, una ecuacion es para siempre"
Albert Einstein

Desconectado pentax33

  • PIC10
  • *
  • Mensajes: 10
Re: Aprendamos a usar e Cpik (mejor el SDCC)
« Respuesta #34 en: 19 de Noviembre de 2008, 15:07:24 »
Hola gente

    He estado leiendo los post sobre el SDCC puesto que  me he pasado a linux i quisiera poder programar los PICs desde este SO.

    La qüestion esta en que en mi etapa de windows trabajaba con CCS y ahora en SDCC me encuentro un poco perdido, no se por donde cojer el codigo, si, es C pero muchas directrices que se utilizaban en CCS aqui no funcionan. Alguien tiene ejemplos de codigo o alguna guia en la que poder iniciar mis pasos?

    Tambien seria una buena idea introducir un hilo en el foro para la migracion de CCS a SDCC y ser de este modo pioneros en la aportación de:

    Rutinas (RS232, i2c, PWM.........)
    Comunicacion con LCD 4 bit 8 bit.....
   

  Personalente a SDCC le veo una gran ventaja i es que es abierto i libre, si que su gran pega , desventaja, inconveniente es que no se trata de un sistema exclusivo para PICs, sino mas bien, este micro se ha añadido posteriormente, peró con la colaboracion de la comunidad podemos ayudar ha construir un compilador popular en el mundo LINUX.


Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Aprendamos a usar e Cpik (mejor el SDCC)
« Respuesta #35 en: 19 de Noviembre de 2008, 17:52:01 »
Este tema ya ha sido tratado anteriormente en el foro, tambien puedes recurrir a google y SDCC esta mas orientado a AVRS
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado arcachofo

  • PIC16
  • ***
  • Mensajes: 126
    • Foro para usuarios Linux.
Re: Aprendamos a usar e Cpik (mejor el SDCC)
« Respuesta #36 en: 20 de Noviembre de 2008, 23:54:09 »
Ejemplos y librerías para SDCC:

general:
http://sdccokr.dl9sec.de/resources.htm

PIC:

ejemplos básicos: http://datrus.com/qwikflash-howto.tgz de esta página: http://datrus.com/qwikflash-howto.html
librería + ejemplo LCD 16x2 con PIC18F252: http://www.warpedlogic.co.uk/?q=node/10
libreria + ejemplo para I2C con PIC18F2550 (master): http://www.pic-o-rama.org/images/stories/projects/i2c_master/i2c_master.tar.gz
libreria + ejemplo para I2C con PIC18F2550 (slave): http://www.pic-o-rama.org/images/stories/projects/i2c_slave/i2c_slave.tar.gz
Ejemplo Usart con PIC18F2550: http://my.opera.com/raphman/blog/show.dml/266030

Varias librerías y ejemplos para I2C, uart, lcd, delays y más... para PIC16F877: http://per.launay.free.fr/pik_digor/sdcc/

El SDCC ha avanzado mucho desde que se inició este post, y ultimamente parece que va a muy buen ritmo, soporte para muchos PICs y ejemplos y librerías disponibles.

Saludos.
« Última modificación: 22 de Noviembre de 2008, 02:43:02 por arcachofo »

Desconectado pentax33

  • PIC10
  • *
  • Mensajes: 10
Re: Aprendamos a usar e Cpik (mejor el SDCC)
« Respuesta #37 en: 29 de Noviembre de 2008, 17:25:37 »
Hola Gente


    Veo que el tema de SDCC no esta muy extendido y por este morivo os propongo que aportemos los motivos por los que dicho compilador no gusta, o no es utilizado. Segun parece un motivo es el echo de no exixtir demasiada documentacion, rutinas , y ejemplos, a parte de que todo el mundo asimila este compilador  para otros procesadores MSC51 etc

   Junto con arcachofo hemos encontrado varios lugares web donde aparecen librerias i rutinas de ejemplo en la utilizacion de dicho compilador en el entorno de programacion de los PICs

Ejemplos y librerías para SDCC:

general:
http://sdccokr.dl9sec.de/resources.htm

PIC:

ejemplos básicos: http://datrus.com/qwikflash-howto.tgz de esta página: http://datrus.com/qwikflash-howto.html
librería + ejemplo LCD 16x2 con PIC18F252: http://www.warpedlogic.co.uk/?q=node/10
libreria + ejemplo para I2C con PIC18F2550 (master): http://www.pic-o-rama.org/images/stories/projects/i2c_master/i2c_master.tar.gz
libreria + ejemplo para I2C con PIC18F2550 (slave): http://www.pic-o-rama.org/images/stories/projects/i2c_slave/i2c_slave.tar.gz
Ejemplo Usart con PIC18F2550: http://my.opera.com/raphman/blog/show.dml/266030

Varias librerías y ejemplos para I2C, uart, lcd, delays y más... para PIC16F877: http://per.launay.free.fr/pik_digor/sdcc/

El SDCC ha avanzado mucho desde que se inició este post, y ultimamente parece que va a muy buen ritmo, soporte para muchos PICs y ejemplos y librerías disponibles.

Saludos.

animos


Desconectado Risanti

  • PIC10
  • *
  • Mensajes: 43
Re: Aprendamos a usar e Cpik (mejor el SDCC)
« Respuesta #38 en: 14 de Mayo de 2010, 17:34:31 »
Hola A todos..

        Creo que Sdcc tiene sus cosas buenas obviamente no tiene tanto soporte como otros compiladores pero.. es funcional..

Citar
Código

GeSHi (c):

 16.
             while(1) {
  17.
                     PORTA = count;
  18.
                     count ++;
  19.
      delay1mtcy("1");
  20.
             }
  21.
       
  22.
      }
 
       


y los horrores... perdón los errores:

Hala esta libreria pic16/delay.h es para pic de famila 18. (PIC de 16bit de instruccion)  no el pic16f84... eso es un primer problema..
ademas :
delay1mtcy("1")
   //aqui creo que debe ser   
delay1mtcy(1)  // Sin Comillas ..

 Lo otro tiene que ver al momento de compilar quiza puedes tener problemas si te sale algun error como que no encuentra el simbolo _delay1mtc  lo mas seguro que te debas declarar la libreria a utlizar si usas la delay.h esta libreria esta incluida en libc18f.lib por lo cual al momento de compilar tu proyecto debes incluir esta libreria


Al Final SDCC es un compilador en desarrollo... y hay que darle tiempo al tiempo y mas que nada probarlo...

atte.
Risanti