J'ai besoin d'expliquer svp

Bonjour,
ces erreurs s'indique quoi svp ?
***************************************
0 304 C:/Users/DANGER/Desktop/PIC/suiver de tunis.c:1: error: Can't open include file "p18f1220.h"
0 304 #include <p18f1220.h>
0 304 C:/Users/DANGER/Desktop/PIC/suiver de tunis.c:2: error: Can't open include file "stdio.h"
0 304 #include <stdio.h>
0 304 C:/Users/DANGER/Desktop/PIC/suiver de tunis.c:3: error: Can't open include file "math.h"
0 304 #include <math.h>
0 304 3 errors in preprocessor.
0 102 Finished (with errors): 19 avr. 2013, 14:52:15 suiver de tunis.mcppi
**********************************************************************

3 réponses

  1. Déjà qu'est ce que tu as essayé de faire ou de lancer ?
    0
    1. j'ai une projet de suivi le point de puissance maximale MPPT de système photovoltaïque et ce programme de c appliqué sur le pic18f1220 et besoin de tension et courant de panneaux pour faire la dérivé de puissance pour connaitre le signe sens de variation de la puissance et ce commandé la Mosfet d'une convertisseur de type BOOST pour élevé la tension
      0
      1. Contributeur
        Bonjour
        Le fichier indique qu'il narrive pas a ouvrir les fichiers entetes comme math.h.
        As tu vérifié quils existaient ?
        0
        1. voila mon programme C
          #include <p18f1220.h>
          #include <stdio.h>
          #include <math.h>
          #pragma config WDT = OFF

          //Variables globales

          int i,H;
          unsigned int tension_alta,tension_convertida,tension_alta_total;
          unsigned char derivada_pot,tension_baja,intensidad_baja;
          unsigned int intensidad_alta,intensidad_convertida;
          unsigned int intensidad_alta_total,tension_panel;
          unsigned long potencia,potencia_old,potencia_total;
          unsigned int m;

          //Funcion de conversion de intensidad: Convertimos la intensidad del panel al valor de referencia del PIC (5V).

          unsigned int intensidad (void)
          {
          intensidad_alta=0;
          intensidad_alta_total=0;
          intensidad_baja=0;
          for (i=0;i<1;i++)
          {
          }
          ADCON0=0x05;
          for (i=0;i<10;i++)
          {
          }
          ADCON0=0x07; //Corriente de conversion : conversion en el canal 1, empieza la conversion
          while (ADCON0!=0x05)
          {
          }
          intensidad_alta=ADRESH; // Se guardan los 8 bits altos de la conversi?n en el registro ADRESH
          intensidad_alta_total=intensidad_alta<<8; // Realizamos un desplazamiento para capturar posteriormente los dos bits de menor peso de la conversi?n ya que utilizamos una conversi?n sobre 10 bits
          intensidad_baja=ADRESL; //Se guardan los 2 bits de menor peso en el regsitro ADRESL
          intensidad_convertida=intensidad_alta_total+intensidad_baja; //Capturamos los 10 bits de la conversi?n (intensidad convertida)
          return(intensidad_convertida);
          }

          // Funcion de interrupcion del Timer 0: El timer0 genera una interrupci?n al desbordarse. La variable H se pone 1. Paramos el timer0 para que vuelva a empezar con el valor deseado introducido por software (en nuestro caso sera de 6,5ms).

          void traiteIT(void);
          #pragma code it=0x08
          void saut_sur_spIT(void)
          {
          _asm

          goto traiteIT

          _endasm
          }
          #pragma code

          #pragma interrupt traiteIT
          void traiteIT(void)
          {
          if (INTCONbits.TMR0IF)
          {
          INTCONbits.TMR0IF=0; // Flag de interrupcion del timer 0
          H=1; // Indica que el timer ha finalizado
          T0CONbits.TMR0ON=0;// Reinicializacion del timer 0
          }
          }

          //Funcion de inicializacion: Configuramos todos los registros del PIC para el buen funcionamiento del sistema

          void configurar_registros (void)
          {
          i=0;
          m=0;
          H=1;
          potencia=0;
          potencia_old=0;

          ADRESH=0x00; // Poner a 0 el registro de conversion mas alto
          ADRESL=0x00; // Poner a 0 el registro de conversion mas bajo

          //TIMER 0

          INTCONbits.TMR0IE=1; // Permitimos la interrupci?n por desbordamiento del timer0
          INTCONbits.GIEH=1; // Permitimos todas las interrupciones enmascaradas
          INTCONbits.TMR0IF=0; //Desactivamos el flag del timer0
          INTCON2=0x00; //Todas las interrupciones seran en el flanco de bajada
          INTCON3=0x00; //Deshabilitamos las interrupciones externas
          PIR1=0x00; //Deshabilitamos los flags de los timer 1 y2
          PIE1=0x00; //deshabilitamos la interrupcion de conversion y no permitimos la interrupci?n de los timers 1 y 2
          IPR1=0x00; //Configuramos la prioridad de las interrupciones como baja (conversor, comparador, timer1 y 2)
          PIR2=0x00; //Deshabilitamos el flag del timer3
          PIE2=0x00; //No permitimos la interrupcion del timer3
          IPR2=0x00; // Configuramos la prioridad de las interrupciones como baja (fallo en el oscilador, memoria EEPROM, detector nivel bajo, timer3) RCON=0x00; //Deshabilitamos la prioridad de nivel en las interrupciones

          T0CON=0x46; //Configuramos el timer 0 con un valor de 6,5ms

          //Conversion analogico-digital

          ADCON1=0x7C; // Configuracion de los pines AN0 y AN1 como entradas analogicas
          ADCON2=0x92; // Resultado justificado a izquierda

          //Perifericos

          PORTA=0x00;
          TRISA=0x03; //AN0 y AN1 configuradas como entradas
          PORTB=0x00;
          TRISB=0x00; //Puerto B configurado como salida
          }

          //Funcion de conversion de tension: Convertimos la tension del panel al valor de tension de referencia del PIC18F1220 (5V) para poder trabajar.

          unsigned int tension (void)
          {
          tension_alta=0;
          tension_alta_total=0;
          tension_baja=0;
          for (i=0;i<1;i++) //Esperamos un poco antes de empezar la conversion
          {
          }
          ADCON0=0x01;
          for (i=0;i<10;i++)
          { //Tiempo de adquisicion correcta de la se?al
          }
          ADCON0=0x03;// Tension de conversion: conversion en el canal 0, empieza la conversion

          while (ADCON0!=0x01) // Esperamos hasta finalizar conversion
          {
          }
          tension_alta=ADRESH; //Guardamos los valores de la tension convertida en los registros de conversi?n del PIC
          tension_alta_total=tension_alta<<8;
          tension_baja=ADRESL;
          tension_convertida=tension_alta_total+tension_baja; // Tension convertida
          return (tension_convertida);
          }

          //Funcion calculo de potencia

          unsigned long calculo_potencia (void)
          {
          unsigned int x,y;
          x=tension(); // Conversion tension
          y=intensidad(); // Conversion corriente
          potencia_total= x * y; // Calculo de la potencia: producto de corriente * tension
          return (potencia_total);
          }

          //Funcion calculo de potencia media: Calculamos la potencia media de la se?al para posteriormente hacer un mejor c?lculo de la derivada de potencia, para aislar los ruidos de las se?ales anal?gicas y obtener una mejor resoluci?n de la grafica de potencia.

          unsigned long potencia_media (void)
          {
          unsigned long potencia_media_total,muestreos_P,c_potencia;
          potencia_media_total=0;
          muestreos_P=0;
          c_potencia=0;
          for (m=0;m<8;m++) //Muestreamos 8 puntos de la grafica de potencia
          {
          c_potencia=calculo_potencia(); //Para hacer el muestreo vamos capturando los valores, los vamos sumando y posteriormente los dividimos por 8
          muestreos_P=muestreos_P+c_potencia;
          }
          potencia_media_total=muestreos_P>>3; //Division por 8 (desplazar 3 posiciones los bits hacia la derecha)
          return (potencia_media_total);
          }

          //Funcion de c?lculo de derivada: Calculamos la derivada de potencia para detectar las variaciones de la potencia. Si nos acercamos o nos alejamos del punto maximo de potencia.

          unsigned char derivada_potencia (void)
          {
          unsigned char derivada;
          potencia = potencia_media(); //Capturamos un valor de potencia
          if (potencia>potencia_old) //Ese valor capturado lo comparamos con otro anterior

          {
          derivada=1; //Si es mayor la derivada es positiva
          PORTBbits.RB0=1; //Visualizamos el valor de la variable derivada
          }
          else // sino la derivada es negativa y alpha=0
          {
          derivada=0;
          PORTBbits.RB0=0; //Visualizamos el valor de la variable derivada
          }
          potencia_old = potencia; //El valor anterior pasa a ser el actual
          return (derivada);
          }

          //PROGRAMA PRINCIPAL//

          void main()
          {
          configurar_registros();
          tension_panel=tension();
          if (tension_panel<0x2B9)
          {
          PORTBbits.RB1=1; //alpha
          }
          else
          {
          PORTBbits.RB1=0;
          }
          while(1)
          {
          derivada_pot = derivada_potencia(); //Capturamos el valor de la derivada
          if ((derivada_pot==1)&&(PORTBbits.RB1==1))
          {
          PORTBbits.RB1=1;
          }
          else if ((derivada_pot==0)&&(PORTBbits.RB1==1))
          {
          if (H==0)
          {
          PORTBbits.RB1=1;
          }
          else

          {
          PORTBbits.RB1=0;
          H=0;
          T0CONbits.TMR0ON=1;
          }
          }
          else if ((derivada_pot==1)&&(PORTBbits.RB1==0))
          {
          PORTBbits.RB1=0;
          }
          else if ((derivada_pot==0)&&(PORTBbits.RB1==0))
          {

          if (H==0)
          {
          PORTBbits.RB1=0;
          }
          else
          {
          PORTBbits.RB1=1;
          H=0;
          T0CONbits.TMR0ON=1;
          }
          }
          else
          {
          }
          }
          }
          0
        2. Contributeur
          Ca repond pas à nos questions.
          0
        3. j'ai pas compré ta question
          0
        4. Contributeur
          oO. Bah, elle n'a rien de compliqué pourtant.
          Le fichier indique qu'il n'arrive pas a ouvrir les fichiers entetes comme math.h.
          As-tu vérifié qu'ils existaient ?

          Dis autrement est-ce que les fichiers stdio.h et math.h existent sur ton ordinateur ?
          0
        5. nn
          j'ai pas trouvé les 3 fichiers ( p18f1220.h , stdio.h, math.h ) pcq ce programme j'ai trouvé sur 3 thése de mémoire est lorsque j'ai compiler me indique les erreurs
          0