Ir ao conteúdo
  • Cadastre-se

Lucas_Gonçalves

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

posts postados por Lucas_Gonçalves

  1. Estou utilizando outras portas como entrada também,não somente a porta RC2 como entrada.Não tenho a mínima ideia de como resolver esse erro.

     

    Com a alteração recomendada, foi identificado um erro na mesma linha,mas um pouco diferente do primeiro erro:

     1 erro:   "   ; expected,but '.' found   "  

     

     agora o erro identificado pelo MikroC foi:   "  ; expected,but '=' found  "

  2.     Estou com um problema no meu código em que não é muito bem visível,mas o MikroC diz existir.O suposto erro esta situado quando foi definido o status da porta RC2 do PIC16F877A como entrada:   TRISC.F2 = 1;

        Segue parte do código abaixo e o print do erro detectado pelo MikroC:

     //----------------------VARIAVEIS GLOBAIS ---------------------------------------
      unsigned int cap,velocidade,MetroSegundo,tempcap; // contadores de segundos
      char txt[16]; // converter um numero em string
      unsigned char mostra = 0; // flag que indica que é hora de mostrar algo no LCD
    //---------  MODULO CCP --------------------------------------------------------------
        TRISC.F2 = 1;
        //TRISC.F2 = 1; //DEFININDO RC2 COMO ENTRADA
        T1CON = 0;
        CCP1CON = 1;       //Capture - rising edge -> borda desubida
        INTCON =  0;
        PIE1 = 1;
    //-----------------------------------------------------------------------------
    void inicializa_LCD(&PORTD)
      {
        Lcd_Init(); // Inicializa
        LCD_Cmd(LCD_CURSOR_OFF); // send command to LCD (cursor off) -> apaga cursor
        LCD_Cmd(LCD_CLEAR); // send command to LCD (clear LCD) -> Limpa display
      }
    //-----------------------------------------------------------------------------
    void mostra_no_LCD(void)
      {
        LCD_Cmd(LCD_CLEAR); // send command to LCD (clear LCD)
        WordToStr(velocidade,txt); Lcd_Out(1,1,txt);
        Lcd_Out(1,4,"Km/h");
      }

     

    ERRO_MICRO.PNG

  3. @devair1010  ordem da raiz corresponde ao índice da raiz(2=quadrado,3=cubo...),coloquei 1 dividido por Z que é o índice da raiz,o certo seria 1.0 dividido por Z...pow(Y,1.0/Z) é a mesma coisa que Y^1.0/Z, para Y=9 e Z=2 o resultado é 3,ou seja 9^1.0/2 = raiz quadrada de 9...agora para Z=3 iria calcular a raiz cúbica de 9.

    • Curtir 1
  4. O programa não esta completo ainda, mas deveria pelo menos rodar a função1. Está ocorrendo o seguinte erro:

    > /tmp/ccbRtCar.o: na função `funcao1':

    > iniciosimulado02.c:(.text+0x18f): referência indefinida para `pow'

    > collect2: error: ld returned 1 exit status

     

    Não consegui compreender muito bem o erro e,consequentemente não achei o local do erro.

    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    
    int main() {
        int x = 1;
        imprimemenu();
        questao03(x);
        return (0);
    }
    
    int imprimemenu() {
        printf("\n(1)  funcao  1\n");
        printf("\n(2)  funcao  2\n");
        printf("\n(3)  funcao  3\n");
        printf("\n(0)  sair \n");
        return (0);
    }
    
    int questao03(int x) {
        int y;
        int z, a;
        while (x != 3) {
            printf("Escolha a opcao do menu: \n");
            scanf("%i", &x);
            switch (x) {
                case 1:
                    printf("Digite o numeros do qual será extraída a raiz: \n");
                    scanf("%i", &y);
                    printf("Digite a ordem da raiz: \n");
                    scanf("%i", &z);
                    funcao1(y, z);
                    printf("O resultado da conta deu: %i \n", a);
                    break;
                case 2:
                    printf("essa funcao nao retorna \n");
                    break;
                case 3:
                    printf("essa funcao nao retorna \n");
                    break;
                default:
                    printf("valores entre 0 e 3\n");
            }
        }
    }
    
    int funcao1(int y, int z) {
        int k;
        k = pow(y, 1 / z);
        return (k);
    }

     

    adicionado 44 minutos depois

    estava compilando errado , nesse programa é necessário a biblioteca math logo quando for compilar tem que compilar com o -lm no final.

    • Curtir 1

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!