Autor Tema: Como generar librerías en CCS?  (Leído 9834 veces)

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

Desconectado AlbertoB

  • PIC10
  • *
  • Mensajes: 4
Como generar librerías en CCS?
« en: 06 de Noviembre de 2012, 16:36:55 »
Que tal amigos del foro.

Es la primera vez que comienzo un tema, y es que me surgió una duda respecto a un programa que estoy realizando, sucede que utilizo frecuente mente
esa misma rutina en otros programas, entonces mi duda es, ¿como puedo convertir esa rutina en alguna librería para de esta forma, ya no incluir el
código, mas solo mandarla a llamarla al principio de los programas y lógicamente, contar en este con las funciones ya definidas, ya solo para mandar llamar
la operación específica. Ya utilicé el buscador y encontré un tema muy parecido, pero al que desafortunadamente no se le dio respuesta o seguimiento.  :(
Estoy programando basado en CCS. Espero haberme explicado y agradezco de antemano la ayuda y sugerencias prestadas al mismo.

Saludos. 

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Como generar librerías en CCS?
« Respuesta #1 en: 06 de Noviembre de 2012, 17:22:19 »
Pon aqui tu programa y te ayudamos a convertirlo en libreria... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Como generar librerías en CCS?
« Respuesta #2 en: 06 de Noviembre de 2012, 17:25:16 »
Tienes que guardar esa libreria en la carpeta "C:/Archivos de Programa/PICC/Includes"

talves ese no sea la direccion correcta pero esa es la idea. En esa carpeta se guardan las librerias propias de CCS, una vez que guardes esa libreria en esa carpeta podras utilizarla en cualquier otro programa cuantas veces quieras sin la necesidad de volverla a copiar en la carpeta simplemente usando Include.
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

Desconectado fantaxmax

  • PIC16
  • ***
  • Mensajes: 107
    • Libertycraft - Minecraft
Re: Como generar librerías en CCS?
« Respuesta #3 en: 06 de Noviembre de 2012, 18:55:32 »
debes crear un archivo .c o un archivo de codigo, lo cual es lo mismo, en ese archivo tu escribiras las rutinas que quieras, con el nombre que quieras, esto debe ser muy ordenado, no puedes llamar una funcion que se encuentra debajo de en la funcion que estas, es por eso que los #include se agregan al principio, una vez que la termines, creas un nuevo proyecto vacio, y le agregas tu nueva libreria, obviamente despues de haberla guardado, y compilas el proyecto, si no te lanza error, es porque esta bien escrita, ahora puedes empezar a probarla, en el mismo proyecto vacio, vas probando funcion por funcion, a modo de debug, cuando hayas probado todas las funciones, puedes felicitarte porque completaste tu primera libreria, te dejo una libreria que escribi yo, a modo de guia.

Código: C
  1. // definimos los pines de activacion de los display de siete segmentos
  2. #ifndef DSP_1
  3. #define DSP_1 PIN_B4
  4. #endif
  5. #ifndef DSP_2
  6. #define DSP_2 PIN_B5
  7. #endif
  8. #ifndef DSP_3
  9. #define DSP_3 PIN_B6
  10. #endif
  11. #ifndef DSP_4
  12. #define DSP_4 PIN_B7
  13. #endif
  14. #ifndef DSP_CLK
  15. #define DSP_CLK PIN_A0
  16. #endif
  17. #ifndef DSP_EN
  18. #define DSP_EN PIN_A1
  19. #endif
  20. // definimos funciones recortadas
  21. #define ACT output_low
  22. #define DES output_high
  23. #define enc output_high
  24. #define apg output_low
  25. // envia un pulso de clock necesario para el 74HC377 (flip-flop D octal)
  26. void pulse(int pin){
  27. ACT(pin);
  28. DES(pin);
  29. ACT(pin);
  30. }
  31. // envia los 7 bits del display codificados en binario al 7448 y luego al 74377 (flip-flop D octal) y los muestra en el display,
  32. // con esto usamos 4 pins para informacion y 4 para direccion.
  33. void dsp_putc(BYTE a, BYTE d){
  34. output_b(d);
  35. DES(DSP_1);
  36. DES(DSP_2);
  37. DES(DSP_3);
  38. DES(DSP_4);
  39. enc(DSP_EN);
  40. if(a==0){ACT(DSP_1);}
  41. if(a==1){ACT(DSP_2);}
  42. if(a==2){ACT(DSP_3);}
  43. if(a==3){ACT(DSP_4);}
  44. pulse(DSP_CLK);
  45. apg(DSP_EN);
  46. DES(DSP_1);
  47. DES(DSP_2);
  48. DES(DSP_3);
  49. DES(DSP_4);
  50. }
  51. // iniciamos, ponemos a 0, los 4 display de siete segmentos
  52. void init_dsp(){
  53. dsp_putc(0,0);
  54. dsp_putc(1,0);
  55. dsp_putc(2,0);
  56. dsp_putc(3,0);
  57. }
"El presente es suyo, El futuro es mio" N.T.
El conocimiento es gratuito e ilimitado, solo debes saber donde buscarlo.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Como generar librerías en CCS?
« Respuesta #4 en: 06 de Noviembre de 2012, 19:10:05 »
En CCS es tan sencillo como cortar las funciones que quieres que formen parte de una librería, las pegues en un .c y lo guardes en la misma carpeta del proyecto o donde indica bigluis. Después en el main.c solo debes incluirla, #include "....c"


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

Desconectado AlbertoB

  • PIC10
  • *
  • Mensajes: 4
Re: Como generar librerías en CCS?
« Respuesta #5 en: 07 de Noviembre de 2012, 21:21:32 »
De verdad gracias por el aporte, me habían comentado mal que en cualquier foro el tiempo de respuesta era
de al menos un par de días.

Pon aqui tu programa y te ayudamos a convertirlo en libreria... :mrgreen:

jeje... la verdad sería lo más simple, pero la idea de recurrir a las sugerencias de gente con mas experiencia
como la que hay en el foro es precisamente la de aprender, sería lo ideal.


Tienes que guardar esa libreria en la carpeta "C:/Archivos de Programa/PICC/Includes"

talves ese no sea la direccion correcta pero esa es la idea. En esa carpeta se guardan las librerias propias de CCS, una vez que guardes esa libreria en esa carpeta podras utilizarla en cualquier otro programa cuantas veces quieras sin la necesidad de volverla a copiar en la carpeta simplemente usando Include.


Es cierto, me sonaba muy lógico lo que comentas bigluis, solo que la verdad empecé bastante perdido
en cuanto a la dirección donde debería guardarse el archivo que se pretende usar como librería, muchas
gracias por la orientación.
Seguiré con las pruebas, me he dado una idea mucho más clara por donde iniciar, y los pasos a seguir,
y con la ayuda del ejemplo de fantaxmax, creo que se muestran mucho mejor las cosas.

Gracia de nuevo. Saludos.     

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Como generar librerías en CCS?
« Respuesta #6 en: 07 de Noviembre de 2012, 21:58:16 »
Es cierto, me sonaba muy lógico lo que comentas bigluis, solo que la verdad empecé bastante perdido
en cuanto a la dirección donde debería guardarse el archivo que se pretende usar como librería, muchas
gracias por la orientación.
Seguiré con las pruebas, me he dado una idea mucho más clara por donde iniciar, y los pasos a seguir,
y con la ayuda del ejemplo de fantaxmax, creo que se muestran mucho mejor las cosas.

Gracia de nuevo. Saludos.    

Hola AlbertoB, puedes guardar las librerías donde dice bigluis, o tambien en la misma carpeta del proyecto como te indica Suky.  La diferencia está en la forma de indicar al preprocesador donde buscar la librería:

Encerrada en los símbolos <>:

Citar
#include <libreria.c>

Le indica al preprocesador que busque la librería en el directorio por defecto donde el compilador guarda las librerías (donde te indicó bigluis).

Encerrada en comillas "":
Citar
#include "libreria.c"

Le indica al preprocesador que busque la librería en el directorio actual (la carpeta donde está el proyecto).

Saludos!