Ir ao conteúdo

Erro nas linhas 74 e 78


joseca

Posts recomendados

Postado

Por favor alguem sabe por que esta dando esses erros nas linhas 74 e 78 ?

 

#include <16F877A.h>
 
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                          //Clock <=4Mhz
#FUSES PUT                      //Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
 
#use delay(clock=4000000)
 
#define botao_incremento PIN_D0
#define botao_decremento PIN_D1
#define botao_stop       PIN_D2
#define botao_inverte    PIN_D4}
int8 ciclo_1, ciclo_2;
int1 modo=0, stop;
 
void main()
{
   output_high(PIN_B0);
   SETUP_CCP1(CCP_PWM);
   SETUP_CCP2(CCP_PWM);
   setup_timer_2(T2_DIV_BY_4,249,1);   
   set_pwm1_duty(0);
   set_pwm2_duty(0);
   
   while (TRUE)
   {
      if (stop == 1)
      {
         output_high (PIN_B0);
         if (modo == 0)
         {
            if (input(botao_incremento))
            {               
               ciclo_1 = ciclo_1 + 5;
               do{}
               while(input(botao_incremento));
            }
            
            if (input(botao_decremento))
            {               
               ciclo_1 = ciclo_1 - 5;
               do{}
               while(input(botao_decremento));
            }
            
            set_pwm1_duty(ciclo_1);
            set_pwm2_duty(0);
         }
         
         if (modo == 1)
         {
            if (input(botao_incremento))
            {               
               ciclo_2 = ciclo_2 + 5;
               do{}
               while(input(botao_incremento));
            }
            
            if (input(botao_decremento));
            {               
               ciclo_2 = ciclo_2 - 5;
               do{}
               while(input(botao_decremento));
            }
            
            set_pwm2_duty(ciclo_2);
            set_pwm1_duty(0);
         }
         
         if (input(botao_inverte)) 
      }
                  
            modo++;
            do{}
            while(input(botao_inverte))
         {      
      {
      
      if (stop == 0)
      {
         output_low (PIN_B0);
      }
      
      if (input(botao_stop))
      {            
            stop++;
            do{}
            while(input(botao_stop));
      }
   }
 
Postado

Dando uma olhada rapida deu pra perceber que tem falhas de fechamento de chaves }, tem chaves fechando no lugar errado.. e na linha 63 na pode ter o ; depois  do teste de condição.. da o erro code has not efect..

 

siga a abertura e fechamento de cada bloco.. vai achar a causa dos erros.

Postado

Eu me atrapalho com essas chaves,não sei ainda como usar em cada situação.

Esta dando "expecting a close paren"(74 e 78)

Pedindo para fechar os parenteses mas fiz isso e não deu certo.

Postado

com certeza o erro maior esta em relação ao uso de chaves, veja ja começa na linha onde devine o botao_inverte kkk , no restante do codigo ja notei q tb colocou em lugares errados, e isso vai interferir na realizacao do q você quer.. faltou alguns pontos e tal.. Bom,, dei um concerto com relação das chaves, mas pode vir outros problemas no q se refere a realizacao das funcoes,, testa ai e diz p gente q te ajudamos.. falou

#include <16F877A.h> #FUSES NOWDT                    //No Watch Dog Timer#FUSES XT                          //Clock <=4Mhz#FUSES PUT                      //Power Up Timer#FUSES NOPROTECT                //Code not protected from reading#FUSES NOBROWNOUT               //No brownout reset#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O#FUSES NOCPD                    //No EE protection #use delay(clock=4000000) #define botao_incremento PIN_D0#define botao_decremento PIN_D1#define botao_stop       PIN_D2#define botao_inverte    PIN_D4int8 ciclo_1, ciclo_2;int1 modo=0, stop; void main(){   output_high(PIN_B0);   SETUP_CCP1(CCP_PWM);   SETUP_CCP2(CCP_PWM);   setup_timer_2(T2_DIV_BY_4,249,1);      set_pwm1_duty(0);   set_pwm2_duty(0);      while (TRUE)   {      if (stop == 1)         {         output_high (PIN_B0);         if (modo == 0)            {            if (input(botao_incremento))               {                              ciclo_1 = ciclo_1 + 5;               do{}               while(input(botao_incremento));               }            if (input(botao_decremento))               {                              ciclo_1 = ciclo_1 - 5;               do{}               while(input(botao_decremento));               }            set_pwm1_duty(ciclo_1);            set_pwm2_duty(0);            }         if (modo == 1)            {            if (input(botao_incremento))               {                            ciclo_2 = ciclo_2 + 5;               do{}               while(input(botao_incremento));               }            if (input(botao_decremento));               {                              ciclo_2 = ciclo_2 - 5;               do{}               while(input(botao_decremento));               }            set_pwm2_duty(ciclo_2);            set_pwm1_duty(0);            }         if (input(botao_inverte))             {                                 modo++;            do{}            while(input(botao_inverte));            }             }          if (stop == 0)         {         output_low (PIN_B0);         }            if (input(botao_stop))         {                     stop++;         do{}         while(input(botao_stop));         }   }}
Postado

Obrigado cesarlg,sim vou estudar melhor esses comando e funções com abertura e fechamento de chaves.

Compilei o codigo que voce corrigiu e não deu mais erro,valeu...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!