Sin un .h podes hacer:Código: C
#include "lcd.c" // Aca codigo del main.c
Obviamente esto es como poner ambos codigos en todo un archivo. Nomas que lo tenemos separado en 2.. Esto puede ser un problema y tambien es considerado una mala practica en C.
Hay una cosa que debo aclarar, si observas en nuestro .h no hay nada que ocupe lugar en el micro, Las funciones estan definidas en el .c, las variables deberian estar definidas en los .c, en el .h deberías poner: prototipos de funciones (como el ejemplo, el cual no tienen codigo), la definicion de una estructura/union, etc. Como nombre antes, si lo que pusiste crea una variable que ocupa espacio tanto en RAM como en ROM eso NO va sobre el .h (omitiendo las macros que eso lo vas a ver mucho mas adelante)
o podes crearte vos la libreria (sea de 0 o copiarla) y no vas a tener problema.
Leyendo tu explicacion deduzco que, si quiero utilizar esta libreria, tengo que crear un .h, no es asi?
Buscando por la web me he encontrado librerias .h llenas de codigo, lo contrario a lo que me cuentas.
Creo que puede ser lo mejor, aprendiendo de los errores poco a poco.
Ya me tendreis por aqui dentro de poco preguntando de nuevo :D