Creando Librerías de C para PIC16F877A y Hormiga 877

Cuando estamos creando código para alguna aplicación que tengamos en mente para microcontroladores, y este código se empieza a hacer muy largo, se vuelve necesario mantener la organización de todos los algoritmos implementados y no solo eso, mantener las implementaciones relacionadas con una tarea en común (como las operaciones matemáticas, otras relacionadas con la operación de hardware específico, y demás) en un solo documento, con el fin de hacer más comprensible el programa que escribamos y sea entendible para otros programadores.

En la entrada que nos concierne en esta ocasión, vamos a ver cómo es posible que nosotros, desde MPLAB X, generemos colecciones de funciones o implementaciones en documentos con extensión “.h” y “.c” para poder tener separadas de nuestro código de aplicación funciones que podamos necesitar pero que dada la naturaleza del código que se genera no sea necesario conocer a profundidad el funcionamiento de las funciones en esa librería; por tanto vamos a observar cómo se hace.

El primer paso consiste en abrir el programa MPLAB X en nuestro computador y abrir el proyecto “Hormiga877_RevA.X” alojado en el repositorio de GitHub “Hormiga_877”, en caso de que quieras recordar cómo abrir proyectos con MPLAB X aquí está el enlace, y también sobre cómo descargar los repositorios aquí.

Ilustración 1. Abrir proyecto "Hormiga 877"

Después de que se haya abierto el proyecto de la placa Hormiga 877 (Basada  en el microcontrolador PIC16F877A) localizamos el árbol de proyecto y realizamos el primer paso, la creación del archivo de cabecera con extensión “.h”. Cabe resaltar que antes de crear los archivos es necesario establecer como proyecto principal el proyecto “Hormiga877_RevA”, aquí está cómo hacerlo.

Para la creación del archivo de cabecera, se selecciona la carpeta “Header Files” en el árbol de archivos del proyecto hasta que esté de color azul, con un clic izquierdo; acto seguido se hace clic derecho sobre la carpeta y se selecciona la opción “New” y desplegará una serie de archivos disponibles, una vez que se despliega, seleccionamos la opción “Other”.

Ilustración 2. Seleccionar la Opción Other.


Después de seleccionar la opción “Other” se desplegará un cuadro de diálogo mostrando opciones adicionales, en las cuales vamos a seleccionar la careta “C” y después en el cuadro derecho seleccionamos la opción “C Header File” y presionamos el botón de siguiente en la esquina inferior derecha.

Ilustración 3. Seleccionar C Header File

Al momento de darle siguiente nos desplegará un cuadro de diálogo para asignarle nombre al archivo de cabecera, en esta parte solo es necesario darle un nombre al archivo, no es necesario ponerle la extensión “.h”, el editor lo hace automáticamente.

Ilustración 4. Asignar Nombre

Después de asignar nombre le damos siguiente y el editor generará el archivo correspondiente de cabecera con el nombre que hayamos asignado; este archivo se podrá localizar en el árbol de proyecto en la carpeta “Header Files”.



Ilustración 5. Archivo de cabecera Creado

Además en el archivo de cabecera se generará un texto de identificación con el compilador, donde lo más importante corresponde a el lugar donde se van a estar declarando los prototipos de las funciones este lugar se encuentra entre las líneas 9 y 10 del archivo en blanco, por tanto una vez creado el archivo de cabecera, procedemos con la creación del archivo de procedimientos con extensión “.c”.

Ilustración 6. Entre la línea 9 y 10 se colocan las declaraciones de funciones

El archivo de procedimientos con extensión “.c” es necesario para describir todos los procedimientos  o funciones que se declaran  en el archivo de cabecera; para crear este archivo de procedimientos es necesario localizar la carpeta “Source Files” en el árbol de proyecto de la “Hormiga877_RevA”, seleccionarlo con un clic izquierdo, marcándose en color azul la carpeta, y posteriormente hacer clic derecho y seleccionar la opción “New” y después en la lista desplegable la opción “Other”.

Ilustración 7. Seleccionar la opción "Other"

Al seleccionar la opción “Other”, nos abrirá un cuadro de diálogo en el cual vamos a seleccionar la carpeta “C” en el cuadro izquierdo y acto seguido la opción “C Source File” mediante los cuales se generará el archivo con extensión “.c”.

Ilustración 8. Generación de C Source File

Después de seleccionar las opciones, presionamos el botón siguiente que nos pedirá ahora, asignarle un nombre al archivo de procedimientos, 

❗❗Un punto importante:

Con el fin de mantener bien organizados los archivos “.c” con su respectivo archivo de cabecera, es necesario asignarle el mismo nombre al archivo de procedimientos que el archivo de cabecera.

Ilustración 9. Mismo Nombre que Archivo de Cabecera


Una vez que se asignó el nombre, presionamos el botón de “Finish” y el sistema generará el archivo  de procedimientos, el cual puede ser localizado en la carpeta “Source Files” en el árbol del proyecto de la Hormiga 877.

Por lo tanto ya creados los archivos deben de quedar similares en organización al siguiente árbol de proyecto.

Ilustración 10. Archivos Generados


El último paso en la generación de los archivos es abrir el archivo de procedimientos recién creado y agregar los vínculos con el proyecto en general los cuales son

#include “system.h”

#include “Cabecera.h”

Estas dos líneas se colocan al principio del archivo de procedimientos, cabe resaltar, que el texto “Cabecera.h” corresponde al nombre que se le asignó al archivo de cabecera según se necesite; de modo que  el archivo con extensión “.c” quedaría así: 

Ilustración 11. Agregando archivos de cabecera


El archivo “system.h” hace referencia a los procedimientos generales de la Hormiga 877 en caso de que se requieran en el archivo recién generado. Además el archivo “Cabecera.h” sirve para hacer enlace con el archivo de declaración de prototipos de los procedimientos descritos en el archivo con extensión “.c”.

Como información adicional mencionar que estos archivos también pueden ser localizados en la carpeta de proyecto fuera del MPLAB X, los cuales están almacenados en el directorio raíz del proyecto.


Ilustración 12. Localización de Archivos


Al seguir estos pasos, será posible que cuando se requieran funciones declaradas en estos archivos va a ser posible acceder a ellos agregando en el archivo de “application.c” la referencia al archivo de cabecera necesitado de la manera siguiente:

Ilustración 13.  Utilizar todas las funciones de archivos independientes

Con estas sugerencias podrán organizar mejor sus códigos y ser más experimentados en la programación con la Hormiga 877, nos leemos en otras entradas, sean creativos y siempre avanzando 😉.








Comentarios

Entradas más populares de este blog

Abriendo Proyectos con MPLAB X para PIC16F877A y Hormiga 877.

Electronica Basica : Encender y apagar un LED con Hormiga 877

Instalación del Entorno de Desarrollo Integrado MPLAB X.