Página 1 de 1

Problemas com CCS-C e MPLAB

MensagemEnviado: 20 Abr 2007 15:44
por MOR_AL
Caros colegas do fórum.

Gostaria de contar com a ajuda de vocês!

Estou fazendo um programa na linguagem C (CCS-C) e tentando debuggar no MPLAB v7.43.
O programa é composto por 4 arquivos:
1 - TesteLCD.h - Cabeçalho. Contém as diretivas básicas, #include <16F628A>, #fuses ..., e #use delay.
2 - 16F628A.h
3 - LCD_Moris.c - Contém funções criadas por mim e relacionadas com display LCD 2x16.
4 - TesteLCD.c - Contém #include LCD_Moris.c, #include TesteLCD.h, 2 #use fast_io e o main().

Ao compilar no CCS-C, não apresenta nem erro, nem alerta (warning).
Ao compilar no MPLAB, apresenta um erro. “A DEVICE required before this line (linha 29 do arquivo LCD_Moris.c). A figura geral apresenta o que acontece.

http://i100.photobucket.com/albums/m36/MOR_AL/Erro.jpg

Ao acrescentar “#device 16F628A” na linha 28 anterior (vide próxima figura), dá um monte de erros, sendo que o primeiro é “Can not change device type this far into the code”.

http://i100.photobucket.com/albums/m36/MOR_AL/Erro2.jpg

Bom.
Se não colocar “#device 16F628A”, o MPLAB pede. Se colocar (em qualquer local de qualquer arquivo) também dá erro.
Deve ser uma coisa boba. Já tentei, mas não consegui ver a solução.

Alguém sabe o que está acontecendo?

MOR_AL

Re: Problemas com CCS-C e MPLAB

MensagemEnviado: 20 Abr 2007 17:14
por andre_luis
experimenta colocar o #include16Fxxxx apenas no arquivo .c onde está o void main(void)

+++

MensagemEnviado: 20 Abr 2007 19:30
por MOR_AL
Caro andre_teprom.

Fiz o que você sugeriu, mas infelizmente o problema persistiu. Na verdade eu já havia tentado essa opção.

A boa notícia é que resolvi o problema. A má notícia é que não sei por quê.

Você está lembrado de um tópico que comentava sobre qual a extensão que se devia dar a determinados arquivos? Se “c” ou “h”? Pois é. Troquei a extensão do meu arquivo LCD_Moris.c para LCD_Moris.h e não deu mais erro nem no CCS (que já não dava) nem no MPLAB.

O arquivo que contém a função main() é o TesteLCD.c. O meu arquivo LCD_Moris.c (agora .h) é o que contém as funções, criadas por mim, que tratam do display LCD .

Não sei por que, trocando a extensão de .c para .h, o problema foi solucionado. Já vi arquivos com extensão .c, apresentados em livro, com funções a serem chamadas pelo programa principal. Apesar de nunca ter verificado se funcionavam, acredito que funcionem.

MOR_AL