Página 1 de 1

Microchip C18 Student v 3.10 - Erros e mais erros!

MensagemEnviado: 13 Mar 2007 18:49
por eletroinf
Buenas gente!
Estou tentando fazer funcionar a versão de testes do C18, acontece que tá meio cabuloso pra fazer compilar alguma coisa. É erro sobre erro, corrige um aparece outro... O último é esse, para o qual não achei solução:

Error - section '_entry_scn' type is non-overlay and absolute but occurs in more than one input file.
Errors : 1

Bom, o programa é esse, só pra teste:

#include <p18f8720.h>
void main(void)
{
unsigned int conta;

for(conta = 25000; conta; conta--);

for(;;);
}

Alguém entende o que está ocorrendo? Parece que '_entry_scn' está duplicado, mas sequer encontrei isso nos arquivos includes...
Ops, uso a versão 7.52 do MPLAB. Sobre as configuraçãos MPlab/C18 já mexi em (quase) tudo.

inicio, FINAL, incremento

MensagemEnviado: 13 Mar 2007 21:16
por Rogerio Brasiliense
for(conta = 25000; conta; conta--);

Só uma opinião: O contador inicia em 25000, vai até ele mesmo e diminui de 1 em 1.

O for tem inicio, final, incremento.
O inicio é 25000. o final é ele mesmo ???????????????????????????
e diminui de 1 a cada passagem.

O final não está claro.

[]Rogerio

MensagemEnviado: 13 Mar 2007 22:19
por Maurício
Não, Rogério.

O loop for tem: inicialização, condição, incremento/decremento.

Neste caso, enquanto a condição ( conta ) for verdadeira (<>0), ele decrementa. Quando a variável "conta", chegar a zero, (condição falsa), o loop é abandonado.

O laço apresentado seria equivalente a isto aqui:

for (conta = 25000; conta > 0; conta-- );

[]'s

RETI.

MensagemEnviado: 13 Mar 2007 22:40
por ric_vas

MensagemEnviado: 13 Mar 2007 22:42
por Maia
Não sei se é isso, mas no C30 a função main retorna int (int main(void); e return(0); antes de fechar). Outra coisa é o #include <p18f8720.h> . Procure na pasta onde estão os headers um geral que chama esse. No caso do C30 para os dsPICs da linha 30 é #include <p30fxxxx.h> .
Abraços,
Maia

MensagemEnviado: 14 Mar 2007 11:00
por eletroinf
"Desencluí" o arquivo c018i.o e funcionou.
Obrigado pelas dicas pessoal.