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.
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
Publicar un comentario