- Baixe os fontes aqui: lcdlib_sample.zip
Apenas uma pequena explicação de como transformar um arquivo .pde em uma biblioteca pinguino:
- Compile o arquivo .pde da sua biblioteca.
- Edite o arquivo source/user.c
- Crie sua biblioteca com base neste arquivo.
Como usar a biblioteca:
- Lembre-se que digitalwrite, e os comandos de delay do arduino não fazem parte do pacote SDCC, e que o pinguino não os adiciona as includes para esses, ou os adicionará ao final do arquivo tmp/define.h o que gerará erros de compilação na IDE Pinguino/SDCC.
Assim temos um problema de ordenação das includes que não pode ser resolvido somente via biblioteca, para resolver isso temos de fazer os includes que a IDE pinguino faria, manualmente, como no trecho de código abaixo (código completo no zip acima):
// Remove line above if you using a pinguino with PIC18F2550, need this define before include digitalw.c
#define PIC18F4550
#include <stdlib.h>
//Include libraries used on you user lib, before include that, pinguino IDE works well on it.
#include <delay.h>
#include <arduinodelay.c>
#include <digitalw.c>
//LCD library
#include <lcdlib.c>
Reparem que a minha nova biblioteca, compatível com os códigos arduino em 99%, só é chamada após carregarmos as bibliotecas necessárias, caso deixássemos por conta da IDE, esta include viria na frente das outras no arquivo define.h
OBS: Esta versão só funciona com a Pinguino IDE beta8 ou maior. Outra versão será lançada junto com a IDE beta9
2 comentários:
Hi,
Yesterday I tried to use the library as a 4 bit display usind the lcd command with last 4 bits defined as 0, but i had no luck.
Any advice on this?.
Regards
Hi,
By the way, using the library in 8 bit mode works fine!
The only change I red that is necessary to change the mode is setting last 4 bits to 0... is any other configuration needed?.
Best Regards
Postar um comentário