Autor Tema: duda con librerias  (Leído 1722 veces)

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

Desconectado electroipod

  • PIC16
  • ***
  • Mensajes: 166
duda con librerias
« en: 14 de Marzo de 2013, 01:28:07 »
Saludos, alguien me puede sacar de una duda, que diferencia hay entre una libreria .h y otro .c, quiero incluir librerias hechas por mi dentro del mplabx y nose si hacerlo con extension .h o .c
ejemplo:
#inlcude "mi_libreria.h"
o uso esta:
#inlcude "mi_libreria.c"
cual seria la diferencia, gracias por sus respuestas.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: duda con librerias
« Respuesta #1 en: 14 de Marzo de 2013, 14:31:40 »
Hola electroipod, no se si voy a poder ayudarte, pero voy a tratar de explicarte algunos conceptos. Lo que basicamente hace un compilador "C" es traducir lineas de C también llamadas "C-Statements" a código assembler del micro en cuestión, esta traducción produce un código objeto. Por convención los archivos que tienen "statements" se indican con extensión ".c" y los archivos de encabezado se indican con ".h", estos últimos contienen información valiosa para el compilador como ser constantes, enumerados, estructuras, declaración de funciones, etc. Una librería es simplemente una colección de archivos ya compilados pero empaquetados en un gran archivo, normalmente las librerias tienen extensión ".a" o ".lib". Cada libería debería estar acompañadad de uno o más archivos ".h" que detallan las funcionalidad de la misma, pero el código reside en la librería.
Todo compilador debería contener una librería estandar para dar funcionalidad básica del lenguaje, ejemplo de esto son las funciones de string ( strlen, strcpy ), conversiones ( atoi, itoa, etc ), esta libería es conmumente llamada RTL ( Real time library ), la cantidad de librerias basicas dependen de la arquitectura, ejemplos no es lo mismo desarrollar para micros de 8 bits que para una PC.


Saludos !

Desconectado hector915

  • PIC12
  • **
  • Mensajes: 78
    • Blog Personal.
Re: duda con librerias
« Respuesta #2 en: 30 de Abril de 2013, 00:08:36 »
Saludos eh visto tu respuesta yo tengo una duda puntual frente a las librerias .h,es posible que yo pueda meter todos las configuraciones de los fuses en

milibreria.h?

por ejemplo mi main tendria algo asi

Código: [Seleccionar]
#include <p18f45550.h>
#include <timers.h>
#include <delays.h>

#pragma config PLLDIV = 1       // PLL Prescaler Selection bits (No prescale (4 MHz oscillator input drives PLL directly))
#pragma config CPUDIV = OSC1_PLL2// System Clock Postscaler Selection bits ([Primary Oscillator Src: /1][96 MHz PLL Src: /2])
#pragma config USBDIV = 1  


void main(void)
{
..... //resto de codigo
      }
es posible reemplazar eso por

Código: [Seleccionar]
#include <p18f45550.h>
#include <timers.h>
#include <delays.h>
#include "[b]milibreriafuses.h[/b]"


void main(void)
{
..... //resto de codigo
      }

donde milibreriafuses.h seria :

Código: [Seleccionar]
#ifndef MILIBRERIAFUSES_H
#define MILIBRERIAFUSES_H

#pragma config PLLDIV = 1       // PLL Prescaler Selection bits (No prescale (4 MHz oscillator input drives PLL directly))
#pragma config CPUDIV = OSC1_PLL2// System Clock Postscaler Selection bits ([Primary Oscillator Src: /1][96 MHz PLL Src: /2])
#pragma config USBDIV = 1  


#endif /* MILIBRERIAFUSES_H */

Muchas gracias ojala me saque de dudas ya que eh hecho algunas pruebas y me pone problemas.
« Última modificación: 30 de Abril de 2013, 10:21:27 por hector915 »
if you can imagine it, you can embed it

Desconectado Palomino86

  • PIC16
  • ***
  • Mensajes: 180
Re: duda con librerias
« Respuesta #3 en: 02 de Mayo de 2013, 12:41:20 »
Configuraciones del PIC (Fuses) y rutinas de interrupción déjalas en el main.

Como consejo separa las funciones (archivo .c y .h) de los diferentes dispositivos que vayas a usar. Por ejemplo si vas a usar una pantalla LCD, separa sus funciones en archivos específicos para este dispositivo. Esto te ayudará a tener un mejor orden en tu código.

En la función main deja la lógica principal de tu programa
Lo que no me destruye, me fortalece

Desconectado hector915

  • PIC12
  • **
  • Mensajes: 78
    • Blog Personal.
Re: duda con librerias
« Respuesta #4 en: 04 de Mayo de 2013, 23:47:45 »
pero si es posible lo de los fuses en una libreria..? aunque ya probe en simulacion no eh probado en fisico ,si me interpreta los fuses bien aunque asumo que si.
if you can imagine it, you can embed it


 

anything