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

programmation sur PICC



  1. #1
    Alex7794

    programmation sur PICC


    ------

    Bonjour, novice en assembleur, je voudrais faire un programme en C et le compiler sous MPlab (8.00) avec Picc.
    Jusque la tout va bien, j'importe mon programme en C donc, et j'essaye de le compiler, mais la, une serie d'erreurs arrivent comme je vous montre ci dessous, ci jamais vous pouvez m'aider,n'hesitez pas.

    Code:
    #include <htc.H>
    #include <stdio.h>
    #include <stdlib.h>
    #define begin { 
    #define end }
    #define all_out 0
    #define all_in 0xff 
    #define GLOBAL 0x8008
    #define T2_DIV_BY_4 5
    #define INT_TIMER2 0x8C02
    
    
    #fuses INTRC,NOPROTECT,NOWDT,NOLVP
    // INTRC = Osc interne 4MHz et sortie clock/4 sur une patte
    #use fast_io(b)
    #use delay(clock=4000000)
    
    // variables globales
    int byte,per,ton,compt;
    int PORT_A = 5;
    int PORT_B = 6;
    
    // SP DE GESTION DES INTERRUPTIONS 
    #int_timer2 // ITs ( interruptions ) toutes les 0.1ms
    sp_it()
    begin
           compt++;
           if(compt>=per){compt=0;PORT_B=1;}
           else if(compt>=ton) PORT_B=0;
    end
    
    // PROGRAMME PRINCIPAL 
    void main(void)
    begin
           set_tris_b(all_out); /* port b en sortie -- */ 
           PORT_B=0;
    
           per=80; // T = 8ms 
           ton=10; // L = 1ms
           compt=0; 
    	   setup_timer_2(T2_DIV_BY_4,24,1); // (F/4)/4/25/1 = 10000 Hz (OUI METTRE 24 pour 25)
           enable_interrupts(INT_TIMER2); // autorise les ITs du TIMER2
           enable_interrupts(GLOBAL); // autorise la gestion des ITs
    
           // W fond - boucle sans fin -
           do {
                  ton=5;
                  delay_ms(2000);
                  ton=10;
                  delay_ms(2000);
                  ton=15; // T =1,5 ms - position centrale
                  delay_ms(2000);
                  ton=20;
                  delay_ms(2000);
                  ton=25;
                  delay_ms(2000);
           } while(0);
    end

    le erreurs sont les suivantes :

    Error [500] ; 0. symbols non définis:
    _set_tris_b(qsq.obj) _setup_timer_2(qsq.obj) _enable_interrupts(qsq.obj) _delay_ms(qsq.obj)

    -----
    Dernière modification par HULK28 ; 04/12/2008 à 23h02. Motif: Ajout des balises [CODE..../CODE] pour une meilleure lisibilité

  2. #2
    invite03481543

    Re : programmation sur PICC

    Code:
           do {
                  ton=5;
                  delay_ms(2000);
                  ton=10;
                  delay_ms(2000);
                  ton=15; // T =1,5 ms - position centrale
                  delay_ms(2000);
                  ton=20;
                  delay_ms(2000);
                  ton=25;
                  delay_ms(2000);
           } while(0);  // pour une boucle sans fin il faut mettre 1, pas 0...
    end
    Bonsoir,
    hormis que le code soit indigeste (usage de 'begin' et 'end'...) et:

    int PORT_A = 5; ??? késako un port ou une variable?
    int PORT_B = 6; ???

    Idéal pour bien s'embrouiller dans un programme.
    -> déclaratif d'interruption bizarroïde, je ne vois pas de flag d'IT réinitialisé, la variable 'compt' devrait être déclarée en 'volatile', etc.

    Il faut également initialiser le registre TRIS de chaque port utilisé:

    TRISA=0bxxxxxxxx; // x=0 si portA.x en sortie et x=1 si PORTA.x en entrée
    TRISB=.....

    Il faut également préciser si tu souhaites utiliser le portA en digital ou en analogique avec ADCONx (je ne sais pas quel µC tu utilises...), ou CMCON...

    Le setup_timer_2 est visiblement mal définit apparemment.
    Il faut regarder dans la doc du compilo pour vérifier la syntaxe.
    Dernière modification par HULK28 ; 04/12/2008 à 23h09.

Discussions similaires

  1. SPI multi esclaves entre 16f88 avec PICC de ccs
    Par uranie-mc dans le forum Électronique
    Réponses: 3
    Dernier message: 17/04/2012, 12h14
  2. Environnement HI-TECH C HI-TIDE-Compilateur PICC 18
    Par jorg1n dans le forum Électronique
    Réponses: 3
    Dernier message: 12/09/2008, 14h40
  3. Problème compilation MPLAB + PICC Lite
    Par CactO_o's dans le forum Électronique
    Réponses: 7
    Dernier message: 08/09/2008, 13h54
  4. instruction dans la langage picC
    Par ElectRou dans le forum Électronique
    Réponses: 1
    Dernier message: 29/05/2008, 06h28
  5. Hi tech picc - message d'erreur non compris
    Par smartise73 dans le forum Électronique
    Réponses: 2
    Dernier message: 30/05/2006, 20h06
Découvrez nos comparatifs produits sur l'informatique et les technologies.