Página 1 de 1

Pq 12F675 não funfa?

MensagemEnviado: 18 Nov 2008 10:49
por _blackmore_
Ontem estava tentando compilar um firm para o 12F675 e o compilador C(CCS) me dizia que eu não poderia usar a opção de oscilador interno e master clear ao mesmo tempo.
dae parava de compilar.
isso procede?

MensagemEnviado: 18 Nov 2008 12:43
por leoabubauru
_blackmore_

Não me lembro exatamente o motivo pelo qual seja perigoso usar de ambos, mas já sofri com o fato. Se não me falha a memória, o hardware interno do PIC pode ficar irreversivelmente indisponível após uma gravação assim. Eu perdi um componente assim certa vez. Isso, porém, não significa que sempre vai acontecer, mas que é possível que aconteça. Para evitar isso a ferramenta faz o aviso e deixa a decisão nas mãos do projetista. Se durante a compilação não aparece nenhuma mensagem, procure nas configurações do compilador o check box que habilita isso. Daí você terá a opção de continuar ou não a compilação.

Espero ter ajudado


Laercio

MensagemEnviado: 18 Nov 2008 12:54
por _blackmore_
leoabubauru

bixo .. acontece isso tb ... o MPLab lá em casa dah dando uns probleminhas as vezes fecha a o ambiente do nada ou quando mando compilar, mas nada a ver com o compilar do 675.
Esta decisão que tu falow que fica nas mãos do projetista, realmente é isso que o MPLab diz quando tento gravar, que é onde tinha problema, desabilitei esta opção (podendo gravar mesmo sabendo do problema) e agora nem compilar o bixo compila.
Vou no check box e resolver esta parada!
obrigado pela ajuda.

abrax!

MensagemEnviado: 18 Nov 2008 15:57
por Cláudio
Sobre o problema de Osc + Reset internos, lembrei-me que vi uma consideração no manual do ICD2BR:

Quando um microcontrolador é programado com a opção do oscilador
interno e o MCLR interno habilitados ao mesmo tempo, o MPLAB
avisa que se o programa fizer uso dos pinos PGD e PGC e após a
gravação do microcontrolador o programa irá rodar e se o ICD2BR
ainda enviar dados ao microcontrolador poderá ocorrer à queima dos
pinos PGC e PGD, impossibitando assim uma nova gravação.
Um delay de 10ms deve ser inserido no início do programa para evitar
este problema.

MensagemEnviado: 18 Nov 2008 17:35
por _blackmore_
Cláudio

bom .. vou procurar o manual do ICD2 então ... não me lembro de ter visto nada assim ... mas a minha memória não é mais a mesma! :)
obrigado pela atenção

abrax!

MensagemEnviado: 19 Nov 2008 06:47
por lpagano
Cláudio,

Esse configuração de oscilador interno e MCLR habilitado é para todos os PICs ou somente para o 12F?
Digo isso porque estou fazendo um programa no MikroC para o 18F4520 e usando a placa EasyPIC5 em que o mesmo está funcionando com o oscilador interno e MCLR habilitado.

Valeu!

MensagemEnviado: 19 Nov 2008 08:36
por Cláudio
Pessoal,
Já tive um produto (sim, eu sei, sou bem louco! rsrs) com reset e oscilador interno. Inclusive tinha comunicação serial, que poderia ser afetada com a variação do oscilador RC interno pela temperatura, mas funcionou muito bem.
Acho que a consideração do manual do ICD é somente para quando você está debugando o projeto com o ICD.
Imaginei que a mensagem que _blackmore_ teve foi um alerta para este caso.
Nunca mexi com o CCS, então de repente estou dando palpite azedo.

Abraços!

MensagemEnviado: 19 Nov 2008 12:30
por leoabubauru
O Cládio "matou a pau"! Era isso mesmo que eu estava tentando me lembrar. Nos meus softs eu sempre colocava os 10ms de delay.
Isso não é privilégio do 675 , tampouco da família 12F, mas do ICD, ou seja, para qualquer família.

MensagemEnviado: 19 Nov 2008 15:29
por _blackmore_
Cláudio

Acho que a consideração do manual do ICD é somente para quando você está debugando o projeto com o ICD

posso estar enganado, mas não me lembro de que esta opção ficou ativa no MPLab ... acho que o 12F675 e um outro 16F76 não tem como usar o debbuger ICD2 junto ... :(

leoabubauru

colocar este delay de 10ms ... é no programa q vai para o PIC q deve fazer isso?como faço?

#fuses INTRC_IO
delay_ms (10)
#fues NOMCLR

ou como faço isso?

abrax!

MensagemEnviado: 19 Nov 2008 19:37
por leoabubauru
O Problema não é só na depuração, mas em qualquer gravação. É que o PIC compartilha I/O e pino de gravação/depuração. Portanto, se queimá-lo durante um processo desses você ficará sem este pino e, portanto, sem poder regravar.
O 10ms você coloca logo na inicialização do Main()...

Consulte o Help do MPLab. Ative o respectivo check box e, quando aparecer aquela mensagem, tecle F1 você vai ver a explicação deste erro.

MensagemEnviado: 19 Nov 2008 22:42
por _blackmore_
vou consultar. ..

abrax !!!