Pic Inicializa todo maluco

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Pic Inicializa todo maluco

Mensagempor cristian » 16 Abr 2010 21:01

estou com um problema aqui toda vez q ligo o pic ele ficou doidao ai tenho q dar um reset

ja coloquei timer antes das configuraçoes ja ativei o Power up timer mas nao adiantou em nada

como vcs fazer para o pic inciar corretamente ???

eu gravo pelo Incricuit e acabou de gravar o pic fica doido ai tenho q resetar

compilador MikroC
pic 18f252
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor BolhaDigital » 16 Abr 2010 23:26

xi, colega...

vc já verificou:

- veja se o seu "reset" possui um resistor de 2k2 ao +5vcc e se a configuração do pino de reset esta conectada internamente (é melhor usar esse modo ao invés de utilizar resitor+capacitor).
- veja se a alimentação dos pinos 11,12 e 31,32 estão ligadas corretamente, costuma-se utilizar um capacitor de 100nf bem pertinho destes pinos ou melhor entre eles.
- habilita só o power up timer, desabilita o brow.
- verifica também a configuração do pll se esta de acordo com sua utilização, esse pll pode fazer as coisas ficarem esquisitas na inicialização, já tive esse problema compilando no mikro c - só funcionava após um reset.
- uma última dica: programa e assembler, c é legal mais tem uns bugs esquisitos nesses compiladores, sei lá, eu ainda prefiro o asm além de ser mais direto em termos de controle, não dá pau e é gratis.

Boa sorte,
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20

Mensagempor cristian » 17 Abr 2010 09:47

SO NAO TEM OS CAPACITOREES
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor cristian » 17 Abr 2010 09:48

So nao tem os capacitores

o capacitor elco q pega no reset e vai ao terra ...quando liga o pic ele aterra o reset e so volta depois q ele carregar é isso ? ...que é rapido tb ne
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor _blackmore_ » 17 Abr 2010 11:21

bom ... eu nunca tive problemas com gravação ... faço a maoria delas in circuit ... mas eu ligo o MCLR ao Vcc através de um resistor e de uma chave NA para o GND ...
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor cristian » 17 Abr 2010 22:57

nao da erro na gravaçao nao ...

é que mesmo depois da gravaçao os pulsos fantasma aparecem ai reseto e pronto
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor BolhaDigital » 18 Abr 2010 23:11

olha só faz um teste de funcionamento, de forma que vc tenha absoluta certeza se não é o seu compilador...no seu caso esta programando em C, correto? e suponho que esteja utilizando o icd para fazer a gravação, também tanto faz esse detalhe.


se fosse comigo esse problema eu iria eliminando por etapas (uma dica importante, ao fazer seu layout da p.c.i. SEMPRE faça uma malha de cobre envolvendo toda a p.c.i, isso evita que o circuite capte ruidos externos, quer seja via fonte ou via rf).

"COMO EU NÃO SOU MUITO FÃ DE C" e se vc estiver programando em C, sugiro que faça um programinha em assembler bem simples, tipo um pisca pisca e envie para o seu hw, se funcionar sem os erros atuais é sinal que o problema esta no seu programa ou pios no seu compilador (por falar em compilador C, numca ví essas coisas terem tantos BUGS), esse é uma das razões que ainda programo em ASM, mais isso é outra histório, é questão de gosto,

boa sorte,
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20

Mensagempor msamsoniuk » 18 Abr 2010 23:55

nao sei nao hein... como eh para PIC, fica sempre aquela duvida neh, sera q o pau eh no PIC, no compilador C ou no cabeca dura que ainda usa PIC em pleno seculo 21? eh pareo duro! :D hehehe

engracado q em outras plataformas C funciona bem e nunca dah pau! :)

BolhaDigital escreveu:olha só faz um teste de funcionamento, de forma que vc tenha absoluta certeza se não é o seu compilador...no seu caso esta programando em C, correto? e suponho que esteja utilizando o icd para fazer a gravação, também tanto faz esse detalhe.


se fosse comigo esse problema eu iria eliminando por etapas (uma dica importante, ao fazer seu layout da p.c.i. SEMPRE faça uma malha de cobre envolvendo toda a p.c.i, isso evita que o circuite capte ruidos externos, quer seja via fonte ou via rf).

"COMO EU NÃO SOU MUITO FÃ DE C" e se vc estiver programando em C, sugiro que faça um programinha em assembler bem simples, tipo um pisca pisca e envie para o seu hw, se funcionar sem os erros atuais é sinal que o problema esta no seu programa ou pios no seu compilador (por falar em compilador C, numca ví essas coisas terem tantos BUGS), esse é uma das razões que ainda programo em ASM, mais isso é outra histório, é questão de gosto,

boa sorte,
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor vtrx » 19 Abr 2010 00:00

engracado q em outras plataformas C funciona bem e nunca dah pau

C não funciona em PIC??Ave...
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor msamsoniuk » 19 Abr 2010 00:07

vtrx escreveu:
engracado q em outras plataformas C funciona bem e nunca dah pau

C não funciona em PIC??Ave...


o bolha que tah comentando... ele deve saber algo que nao sabemos! :D
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor cristian » 22 Jun 2010 19:06

ainda nao resolvi o problema ,

o pic nunca inicia sem estar todo maluco ai depois do reset é q volta ao normal ....

j afiz de tudo capacitor , put , etc ...

nao acho q isso seja problema de linguagem , e se for temos q achar uma soluçao , pois praticamente o C domina toda a area


tem algum circuito de reset para resetar o pic

aqui esta a parte do codigo o main

Código: Selecionar todos
void main() {

 delay_ms(1000);
ADCON1 = 0b00001110;                  // Configure AN pins as digital

 trisa=1;
 PORTA=0;
 trisb=0b11110000;
 PORTB=0;
 trisC=0b11111111;
 PORTC=0;
T0CON= 0b11000110;//PRECALER 128
INTCON=0b00000000;//CHAVE GERAL HAB E T0      .
T2CON=0b01111001;
pr2=157;
pie1.RCIE=1;
PIE1.TMR2IE=1;
// Lcd_Init();
I2C1_Init(1000000);
UART1_Init(9600);



Soft_UART_Init(&PORTC, 1, 0, 9600, 0);   // Initialize Soft UART at 9600 bps
//Lcd_Cmd(_LCD_CURSOR_OFF);
//Lcd_Out(1, 1, "Ticket");
DELAY_MS(500);
carregaDados();
inicializaPIC();
if(escrow)
{
 Soft_UART_Write(170); // enable escrow
 Soft_UART_Write(191);
 escrowHAB=1;

}else{
      Soft_UART_Write(171); // DISAable escrow
      Soft_UART_Write(190);
      escrowHAB=0;
      //desligar tb timer15seg

     }
 //*****************      sangria


standby();


verifica_Trava();

print_cmd(0);//incializa impressora
    t_date=date;
    t_hora=hour;
    t_min=minute;
    t_seg=sec;
     displaycontrol=0;
T0CON= 0b11000110;//PRECALER 128
INTCON=0b00000000;//CHAVE GERAL HAB E T0      .
T2CON=0b01111001;
pr2=157;
pie1.RCIE=1;
PIE1.TMR2IE=1;
INTCON=0b11100000;//CHAVE GERAL HAB E T0

 enableTimerBV=0;
entraTravaBV=0;


while(1)
{


ja estou doido com isso e parece q o 18f252 é bem ruidoso pois o 16f877 nao tinha isso
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x