Ir ao conteúdo
  • Cadastre-se

Jardas Fernandes

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

0
  1. obg pela ajuda, estava testando esses dias e no protheus acabei detectando isso, com o mesmo programa acima. não entendo porque da esses valores iguais. comparador.bmp
  2. Vou tentar , mas me tira uma dúvida o ccp_1 vai ser renovado a cada transiçao positiva no c2 então ele vai ler o mesmo valor sempre já que eu tô zerando o timer1, né?
  3. isso, mesmo mas no 18f4550.h ele pega os registros CPP1_H e CPP1_L e condensa os dois no registro CPP_1,pelo menos é assim no CCS, o que eu nao estou entendendo é a saida do CPP_1, ou seja, o que ta sendo armazenado lá era pra ser muito simples, talvez seja uma besteira, mais eu não estou enxergando. obg pela informação.
  4. Boa tarde galera, Já sofri que so com esse programa, na minha visão esta tudo certo, porém quando leio o ccp_1 ele da um valor muito diferente do que era pra receber. estou injetando uma onda quadrada com duty de 50% as duas variaveis que coloquei para ler o tempo high e o tempo low do ciclo registram a mesma coisa, porém quando mudo o duty ele ainda fica mostrando a mesma coisa, já fiz na pratica li no osciloscopio e persiste o erro. Alguem poderia me ajudar? programa #include <18f4550.h> #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=pin_c6,rcv=pin_c7,bits=8) #fuses HS,nowdt,nolvp,noprotect,brownout,noput,nocpd,nowrt,nodebug,cpudiv1,pll5 char dado='0'; unsigned int16 sub=0,des=0,p_total=0; float periodo=0.0; unsigned int n=0,pulso=1,m1=0; #use fast_io (a) #use fast_io (b) #use fast_io (c) #use fast_io (d) #INT_CCP1 void pulsos_encolder() { if(pulso==0&&m1==0) { sub=ccp_1; setup_ccp1(CCP_CAPTURE_FE); pulso=1; } if(pulso==1&&m1==0) { set_timer1(0); des=ccp_1; setup_ccp1(CCP_CAPTURE_RE); m1=1; set_timer1(0); } } #int_timer0 void varredura(){ if(n==10) { output_toggle(pin_d0); n=0; } else { n++; } } void main() { enable_interrupts(global); enable_interrupts(int_ccp1); setup_ccp2(CCP_OFF); setup_comparator(NC_NC_NC_NC); enable_interrupts(int_timer0); setup_timer_0(rtcc_internal|RTCC_DIV_2); setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); setup_ccp1(CCP_CAPTURE_RE); set_tris_c(0b10000110); set_tris_b(0b00000011); set_tris_a(0b11111111); set_tris_d(0b00000000); set_timer1(0); output_low(pin_d0); // printf("E1)-%ld\n\n ",sub); // printf("E1)-%ld\n\n 2)-%ld\n\n",sub,des); while(1) { if(m1==1) { //printf("*"); printf("1)%lu\n\n 2)%lu\n\n ",sub,des); //printf("*"); m1=0; pulso=0; } } } simulaçao.rar

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!