Répondre à la discussion
Affichage des résultats 1 à 1 sur 1

Problème de compilation avec MPLAB (pic16f873)



  1. #1
    ourmou

    Problème de compilation avec MPLAB (pic16f873)


    ------

    Bonjour,
    je travaille sur un projet robotique où le robot doit détecter un obstacle puis tourner pour ainsi éviter l’obstacle.
    Malheureusement j’ai un problème de compilation ou de programme . J’utilise Mplab v8 et hi-tech software (PICC).
    J’ai suivis ce tutorial pour bien crée mon projet .( http://angeliz.free.fr/ )
    J’ai cru avoir un problème de librairies donc j’ai ramené*«* pic16F873.h*» dans le dossier include mais J’ai toujours des erreurs. J’ai trouvé les bouts de programme sur internes et potassé certain changement, mais je ne crois pourtant pas qu’il y ai d’erreur dans le programme.
    Je vous link le programme et un screen de l’erreur.

    #include<16F873.h> //fichier de déclaration des registre
    #use delay(clock=4000000) //frequence a 4 Mhz
    #use FAST_IO(B)
    #use FAST_IO(A)

    long rise,fall,pulse_width;
    int8 i;
    int8 cpt=0;
    int8 valeur;
    int k;

    void init(void)
    {
    setup_ccp1(CCP_CAPTURE_RE); //capture sur front descendant
    setup_ccp2(CCP_CAPTURE_FE); //capture sur front montant
    setup_timer_1(T1_INTERNAL|T1_D IV_BY_8); //configurer le timer1
    enable_interrupts(INT_CCP2);
    enable_interrupts(GLOBAL);

    }


    #int_ccp2
    void isr()
    {

    rise = CCP_1; //impulsion sur front montant
    fall = CCP_2; //impulsion sur front descendant
    pulse_width = fall - rise; //temps de d'impulsion

    if(pulse_width<=0xE1) //obstacle détecté
    {
    disable_interrupts(GLOBAL);
    output_low(pin_b1); //arreter le moteur 1
    output_low(pin_b2); //arreter le moteur 2

    switch(cpt){
    case 0:
    {
    output_high(pin_b1); //tourner a droite
    cpt++;
    break;
    }
    case 1:{
    output_high(pin_b1);
    cpt++;
    break;
    }
    case 2:{
    output_high(pin_b2); //tourner a gauche
    cpt=0;
    break;
    }
    }
    for(k=0;k<=30;k++) //attendre X s
    {delay_ms (100);}
    output_low(pin_b1); //arreter le moteur 1
    output_low(pin_b2); //arreter le moteur 2
    enable_interrupts(GLOBAL);
    }

    }

    void main(void)
    {
    SET_TRIS_B(0x00); //mettre le port b en sortie
    init();

    while(1)
    {
    delay_ms(10);
    output_high(pin_b3); //envoyer impulsion sur capteur msu04
    delay_us(10);
    output_low(pin_b3); //arreter impulsion sur capteur

    }
    }


    Je me tourne aujourd’hui sur les forums par manque malheureusement de temps , j’ai chercher sur internet mais je n’ais pas réussi à trouver mon bonheur. Si quelqu'un de callé voit mon problème. Je peux vous mettre le montage de la carte si vous le désirez.

    Alexandre

    -----
    Dernière modification par ourmou ; 24/03/2009 à 22h48.

Discussions similaires

  1. Problème de compilation avec MPLab et C18
    Par Amineyc dans le forum Électronique
    Réponses: 8
    Dernier message: 23/05/2013, 11h50
  2. Problème compilation MPLAB C18
    Par VIIV dans le forum Électronique
    Réponses: 12
    Dernier message: 24/09/2008, 23h00
  3. Problème de compilation MPLAB
    Par grd666 dans le forum Électronique
    Réponses: 2
    Dernier message: 19/06/2008, 15h23
  4. Problème compilation MPLAB
    Par guijac92 dans le forum Électronique
    Réponses: 0
    Dernier message: 18/06/2008, 20h40
  5. probleme de compilation ccx5,mplab!!!!
    Par i-NaD dans le forum Électronique
    Réponses: 5
    Dernier message: 22/03/2008, 20h49
Découvrez nos comparatifs produits sur l'informatique et les technologies.