clignoter une led avec un timer
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

clignoter une led avec un timer



  1. #1
    invitecdc657e7

    clignoter une led avec un timer


    ------

    Bonjour,

    je suis débutant dans la programmation. Ainsi je voulais faire clignoter une led avec un Dspic33F avec un Timer mais j'y arrive pas. au fait j'ai fait un programme en utilisant des temporisations.
    ci joint mon code . Merci de votre aide

    Code:
    #include <p33FJ256GP710A.h>
    #include<stdlib.h>
    
    
    void temporisation (int max){
    
    int i ;
    for (i = 0 ; i < max ; i++) ;
    }
    
    void main (void){
    
    // Initialisation
    TRISB = 0x00 ; // Configuration en sortie des broches RB0 à RB7 du port B
    PORTB = 0xFF ; // mise à "0" du port B
    
    while (1){
       // mise à "1"
    PORTBbits.RB1 = 0 ; // RB1 = 0
    
    // Temporisation
    temporisation (500) ;
    
    // mise à "0"
    PORTBbits.RB1 = 1 ; // RB1 = 1
    
    // Temporisation
    temporisation (500) ;
    }
    }

    -----
    Dernière modification par gienas ; 22/04/2015 à 08h04. Motif: Ajouté les balises code obligatoires pour les programmes

  2. #2
    invite5637435c

    Re : clignoter une led avec un timer

    Bonjour,

    Oui ce n'est pas très surprenant que ça ne fonctionne pas, PORTB ne donnera pas le résultat escompté.

    Déjà pour la boucle de comptage il faudrait écrire:
    Code:
    void temporisation (unsigned int max){
    
     static unsigned int i ;
    
     for (i = 0 ; i < 500 ; i++) ;  // il est préférable de prendre les bonnes habitudes d'entrée
     }
    Ensuite écrivez ceci:
    Code:
    void main (void){
    
     // Initialisation
    LATB = 0;  // On écrit 0 dans le latch de sortie du portB
    TRISB = 0 ; // Configuration en sortie des broches RB0 à RB7 du port B
     
    
     while (1){
       // mise à "0" de RB1
    LATBbits.RB1 = 0 ; // RB1 = 0
    
     // Temporisation
     temporisation (500) ;
    
     // mise à "1" de RB1
     LATBbits.RB1 = 1 ; // RB1 = 1
    
     // Temporisation
     temporisation (500) ;
     }
    Ca devrait mieux fonctionner.

    Cela dit cette méthode est très lourde et bien peu pratique, préférez la méthode interruptive bien plus puissante et surtout non bloquante.
    @+

  3. #3
    invitecdc657e7

    Re : clignoter une led avec un timer

    Merci Hulk28

    je vais testé le programme

Discussions similaires

  1. Clignoter LED avec 12F675
    Par invite3ec71600 dans le forum Électronique
    Réponses: 7
    Dernier message: 08/08/2011, 23h25
  2. Programmation en C avec Timer 0 et Timer 1
    Par invite6844fe5f dans le forum Électronique
    Réponses: 43
    Dernier message: 20/04/2010, 14h27
  3. Clignoter une LED avec intel 8051
    Par invite0d115dab dans le forum Électronique
    Réponses: 2
    Dernier message: 16/12/2007, 14h57
  4. Clignoter une LED avec intel 8051
    Par invite0d115dab dans le forum Électronique
    Réponses: 0
    Dernier message: 16/12/2007, 10h42
  5. clignoter une led avec pic 16F873
    Par invite0ff982b6 dans le forum Électronique
    Réponses: 5
    Dernier message: 26/05/2007, 13h25
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...