Problème de programme.
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Problème de programme.



  1. #1
    invite8d09e4b8

    Problème de programme.


    ------

    Donc, si je comprend bien, dand le programme que j'ai ici, cpt est le nombre de fois que t0if a changé?

    Autre chose, ou puis-je trouver <timers.h>? Parce que lorsque j'écris la lignes #include <timers.h>, le compilateur me dit ERREUR (il ne trouve pas cette librairie).

    Meci pour votre aide.

    #include <18F458.h>
    #device ICD=TRUE
    #device adc=8
    #use delay(clock=20000000)
    #fuses NOWDT,WDT128,RC_IO, NOPROTECT, NOOSCSEN, BROWNOUT, BORV20, NOPUT, NOCPD, STVREN, NODEBUG, LVP, NOWRT, NOWRTD, NOWRTB, NOCPB, NOWRTC, NOEBTR, NOEBTRB
    #define LED_A1 PIN_A1
    #define LED_A2 PIN_A2
    #define LED_A3 PIN_A3
    #use rs232(baud=9600,parity=N,xmit= PIN_C6,rcv=PIN_C7,bits=9)
    #define (__PCM__)
    #define Reception PIN_B2


    #include "C:\Cours\SLP\My_Library\Lcd42 0.c"//On inclut le driver du LCD qui va être recherché lors de la compilation.
    #int_RTCC // Timer 0 (RTCC) overflow; Pour le fonctionnement du timer0.


    boolean tmr0_flag;

    void Compteur(void);

    int cpt=0;
    #int_TIMER0
    TIMER0_isr()
    {
    cpt++;
    }


    RTCC_isr()
    {

    }

    #int_TIMER2 // Timer 2 overflow
    TIMER2_isr()
    {

    }



    void main()
    {

    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_OFF);//Configurer le convertisseur analogique/digital. Pas utilisé ici.
    setup_psp(PSP_DISABLED);//Pour l'initialisation du parallèle slave port. Ici pas utilisé.
    setup_spi(FALSE);//Pour l'initialisation de l'interface du port série. Ici pas activé.
    setup_wdt(WDT_OFF);//Fonction qui met en route le watchdog timer. Ici il n'est pas activé.( Est-ce normal??)
    setup_timer_0(RTCC_INTERNAL|RT CC_DIV_128|RTCC_8_bit);//Pour l'initialisation du timer0
    //setup_timer_0(RTCC_INTERNAL|RT CC_8_BIT); Remplacée par la ligne du dessus : pour avoir une interruption toute les 6,55ms
    setup_timer_1(T1_DISABLED);//Pour l'initialisation du timer1. Pas utilisé ici.
    setup_timer_2(T2_DIV_BY_1,127, 1);//Pour l'initialisation du timer2: générer les 40khz de l'émission.
    setup_timer_3(T3_DISABLED|T3_D IV_BY_1);//Pour l'initialisation du timer3. Pas utilisé ici.
    setup_ccp1(CCP_PWM);//Pour initialiser la pin ccp1 en mode PWM (pour pouvoir envoyer les 40khz par là).
    setup_comparator(NC_NC_NC_NC);//Pour l'initialisation du comparateur analogique. Pas utilisé ici.
    enable_interrupts(INT_RTCC);//Pour "autoriser" les interruptions du timer0.
    enable_interrupts(INT_TIMER2);//Pour "autoriser" les interruptions du timer2.
    enable_interrupts(GLOBAL);//pour réactiver les interruptions
    //Le niveau GLOBAL ne permettra aucune des interruptions spécifiques
    //mais permettra chacune des interruptions spécifiques précédemment permises de devenir actif.
    lcd_init();//Initialisation du LCD.

    set_pwm1_duty(30); //Cette ligne va avec le ccp1 mais à quoi elle sert?
    // This sets the time the pulse is
    // high each cycle. We use the A/D
    // input to make a easy demo.
    // the high time will be:
    // if value is LONG INT:
    // value*(1/clock)*t2div
    // if value is INT:
    // value*4*(1/clock)*t2div
    // for example a value of 30 and t2div

    // of 1 the high time is 12us
    // WARNING: A value too high or low will
    // prevent the output from
    // changing.





    for(; {

    lcd_gotoxy (1,1);
    printf(lcd_putc," Chrono");
    lcd_gotoxy (1,2);
    printf(lcd_putc," %02u ",cpt);


    if(cpt==55)
    cpt=0;
    }
    }

    Encore merci.

    -----

  2. #2
    monnoliv

    Re : Problème de programme.

    Salut,
    Evite de mettre des messages trop long, personne ne les lit !
    Sinon, tant que tu ne pourras pas inclure timer.h, ça ne fonctionnera pas parce que les fonctions que tu utilises sont définies dans ce fichier.
    A+
    Ne soldez pas grand mère, elle brosse encore.

  3. #3
    invitea192d499

    Re : Problème de programme.

    Ton probleme est du a des chemins deja defini

    Je pense que tu dois avoir un repertoire exemple ou quelque chose comme ca dans ton repertoire de ton compilateur et dans exemple il y a generalement un repertoire timer
    C'est dedans que tu trouveras ton fichier et tu dois le copier dans celui ou tu as tout les autres comme ton 18F458.h

    Aussi dans ce genre de truc ce qui est bien c'est dire quel compilateur tu utilises

  4. #4
    invite8d09e4b8

    Re : Problème de programme.

    Bonjour,

    Je n'ai plus besoin du timer.h, le programme tourne sans : (les interruptions sont à définir lors de la création du projet. J'utilise le PCWH Compiler (PIC C Compiler version 3.43).
    Une autre question: comment être sur que j'envoi bien un signal via le PWM en sachant que j'envoi des ultrasons (on ne peut pas les voir, ni les entendre)?

    Je vous remercie pour votre aide.
    @+

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Sous-programme PIC12F629 - problème
    Par michel5002 dans le forum Électronique
    Réponses: 8
    Dernier message: 10/12/2007, 20h12
  2. Acer 5600 Probleme Programme
    Par invite89178bd0 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 22/05/2007, 22h30
  3. Problème avec un programme en C
    Par invitee16bc403 dans le forum Logiciel - Software - Open Source
    Réponses: 14
    Dernier message: 15/05/2007, 23h26
  4. probleme d'installation de certain programme
    Par invite82369654 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 23/04/2006, 22h52
  5. problème programme
    Par invitea301fcd6 dans le forum Logiciel - Software - Open Source
    Réponses: 20
    Dernier message: 22/07/2005, 17h54
Découvrez nos comparatifs produits sur l'informatique et les technologies.