> Onde posso baixar as bibliotecas do livro?
-> Os materiais de apoio estão disponíveis no site da editora Saraiva (http://www.editorasaraiva.com.br), cujos links para download são:
512KB • Brinde respostas dos exercícios do livro, alguns códigos-fonte e bibliotecas.
127KB • Atualização códigos-fonte e bibliotecas para 3ª Edição.
> Qual é o ambiente de desenvolvimento adotado pelo livro?
-> O livro adota o ambiente de desenvolvimento MPLAB IDE e o compilador MPLAB C18, ambos gratuitos.
Clique aqui para efetuar o download do ambiente de desenvolvimento.
Clique aqui para efetuar o download do compilador.
Clique aqui para efetuar o download da biblioteca Microchip Libraries for Applications.
Gravador/depurador recomendado: PICkit 3.
> Como configurar o MPLAB IDE para evitar erros de compilação?
Uma das etapas mais importantes da configuração do MPLAB IDE é a definição do local padrão onde estão os arquivos e bibliotecas do compilador MPLAB C18, os quais foram criados após a sua instalação. Desta forma, quando os arquivos são incluídos no código, a partir da diretiva #include, o MPLAB IDE é orientado a buscá-los nas pastas definidas como padrão, evitando assim, erros de compilação causados pela impossibilidade de achá-los.
Após finalizar as etapas presentes no subtópico 2.3, informe o caminho dos subdiretórios do arquivo de cabeçalho e da biblioteca, conforme os passos seguintes:
Clique em Project > Build Options... > Project;
Clique na aba “Directories” e selecione a opção “Include Search Path”;
Clique em “NEW” e defina o seguinte caminho: “C:\Arquivos de programas\Microchip\mplabc18\<versão do compilador>\h”
Na mesma aba, selecione a opção “Library Search Path”;
Clique em “NEW” e defina o seguinte caminho: “ C:\Arquivos de programas\Microchip\mplabc18\<versão do compilador>\lib”
Atenção!
A partir da versão v3.37, os arquivos e bibliotecas serão armazenados nos seguintes locais:
Arquivos: C:\Arquivos de programas\Microchip\mplabc18\<versão do compilador>\h
Bibliotecas: C:\Arquivos de programas\Microchip\mplabc18\<versão do compilador>\lib
Nas versões anteriores, temos:
Arquivos: C:\ MCC18\h
Bibliotecas: C:\ MCC18\lib
> Copiei um exemplo do livro, mas no momento da compilação, aparece o seguinte erro: “Error: syntax error”.
Resposta: O compilador está indicando que há um erro de sintaxe. Verifique se os comandos estão corretamente finalizados com ; (ponto e vírgula). Este é um dos erros mais comuns.
Observação: Diretivas (#) não usam ; (ponto e vírgula).
> Não estou conseguindo reproduzir o exemplo do Capítulo 8 – “Display LCD 2x16”. O exemplo é compilado sem nenhum erro, mas o display não funciona.
Resposta: A biblioteca biblioteca_lcd_2x16.c, disponibilizada para download, continha um erro no código de inicialização do display LCD 2x16.
A biblioteca já foi corrigida. Versão atual: v0.1.
Observação: Caso os caracteres do display LCD alfanumérico não estejam aparecendo no visor, verifique se a tensão no pino V0 (contraste) do display está entre 150mV e 500mV. Se for o caso, ajuste o valor do potenciômetro.
> A EUSART não está funcionando corretamente.
Foi constatado que a função baudUSART( ), do compilador MPLAB C18 v3.32, não está alterando, corretamente, os registros do módulo EUSART. Há duas soluções para este problema.
Primeira Solução.
Substituir a função baudUSART( ), por exemplo:
baudUSART (BAUD_8_BIT_RATE //Gerador de 8bits.
& BAUD_AUTO_OFF // Desabilita o auto baud rate.
& BAUD_WAKEUP_OFF); // Desabilita o auto-wake-up
pelas instruções:
BAUDCONbits.BRG16 = 0; // Gerador de 8bits. (0 – Gerador de 8bits e 1 – Gerador de 16bits)
BAUDCONbits.ABDEN = 0; // Desabilita o auto baud rate. (0 – Desabilita e 1 – Habilita)
BAUDCONbits.WUE = 0; // Desabilita o auto-wake-up. (0 – Desabilita e 1 – Habilita)
Observação: No modo síncrono também existe a instrução BAUDCONbits.SCKP, onde 0 define o nível baixo como inativo e 1 define o nível alto como inativo.
Segunda Solução.
Aplicar a máscara OU (#define USE_OR_MASKS) nas funções. Veja o exemplo seguinte:
#include <p18f4550.h> // Arquivo de cabeçalho do PIC18F4550.
#define USE_OR_MASKS // As funções utilizam uma máscara ‘OU’
#include <usart.h> // Adiciona a biblioteca contendo as funções da USART.
...
OpenUSART (USART_TX_INT_OFF //Interrupção de transmissão desabilitada.
| USART_RX_INT_OFF //Interrupção de recepção habilitada.
| USART_ASYNCH_MODE //Modo assíncrono.
| USART_EIGHT_BIT //Dado de 8bits.
| USART_BRGH_LOW //Alta velocidade
, 77); //Baud rate de 9600bps. (Fosc = 48MHz)
baudUSART (BAUD_8_BIT_RATE //Gerador de 8bits.
| BAUD_AUTO_OFF //Auto baud rate desabilitado.
| BAUD_WAKEUP_OFF); //Desabilita o auto-wake-up.
Observação: Se a diretiva #define USE_OR_MASKS for inserida no código, todas as constantes das funções do compilador devem ser separadas por um OU lógico ( | ).