quelle est la difference entre un timer et un delay ?
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

quelle est la difference entre un timer et un delay ?



  1. #1
    Albert-cosmoff

    quelle est la difference entre un timer et un delay ?


    ------

    bonjour a tous,

    voila tout est dans la question,
    je ne comprend pas la difference,
    un delay_ms(100) va me faire attendre pendant 0.1 sec

    mais je peux faire un timer de 0.1sec avec des pre-divisions et le code:
    while(toif==0); // attendre le debordement qui sera avec les pre-divisions =0.1 sec
    et je vois pas pourquoi finalement on "s'ennuie" a faire un timer

    pouvez vous m'eclairer?

    merci d'avance

    -----
    Dernière modification par gienas ; 14/04/2014 à 09h24. Motif: Merci de rester correct

  2. #2
    azad

    Re : quelle est la difference entre un timer et un delay ?

    Bah !
    Un "timer" c'est une base de temps. Quelque chose qui génère un signal sensé être stable qui se répète de façon périodique . Le temps que dure une période, c'est le "delay".

  3. #3
    Albert-cosmoff

    Re : quelle est la difference entre un timer et un delay ?

    dans les microcontroleurs on peut soit utiliser la fonction delay soit construire notre propre delay on faisant un timer, mais je ne comprend pas le but de fabriquer son propre delay

  4. #4
    PA5CAL

    Re : quelle est la difference entre un timer et un delay ?

    Bonsoir

    En général, delay() est une fonction qui permet d'interrompre le fonctionnement du programme durant un temps déterminer, et un timer est un dispositif matériel et/ou logiciel qui permet de compter le temps qui passe, sans que le programme soit nécessairement arrêté.

    On peut utiliser un timer pour implémenter la fonction delay(), mais ce n'est pas obligatoire. En revanche, si l'on souhaite que la machine continue d'exécuter les opérations du programme pendant que le temps est compté, il est préférable de recourir à un timer, voire obligatoire si le durée d'exécution de ces opérations ne peut être déterminée a priori. Dans ce dernier cas, le timer interrompt matériellement le programme principal afin d'effectuer le traitement prévu lorsque le temps est écoulé.

    D'autre part, sur les microcontrôleurs, les timers peuvent disposer d'entrées et sorties matérielles directes, qui permettent de compter le temps survenant entre des événements extérieurs ou de générer des signaux logiques de durées déterminées parallèlement au déroulement du programme.

  5. A voir en vidéo sur Futura
  6. #5
    Albert-cosmoff

    Re : quelle est la difference entre un timer et un delay ?

    ok PA5CAL , j'ai compris, merci beaucoup de ton explication

  7. #6
    PA5CAL

    Re : quelle est la difference entre un timer et un delay ?

    Citation Envoyé par Albert-cosmoff Voir le message
    dans les microcontroleurs on peut soit utiliser la fonction delay soit construire notre propre delay on faisant un timer, mais je ne comprend pas le but de fabriquer son propre delay
    On peut par exemple fabriquer son propre délai en comptant des boucles d'attente lorsqu'il n'y a plus de timer matériel de disponible pour le réaliser.


    D'autre part, le recours à un timer n'est pas sans créer quelques difficultés. Sa programmation nécessite des opérations spécifiques au matériel, la précision et la durée du comptage sont limitées par sa taille (8 ou 16 bits généralement), par les horloges disponibles (sources, prédiviseurs), et par la façon dont on met fin au délai (polling, interruption).

    En comparaison, un comptage logiciel en langage de haut niveau permet de régler plus simplement et plus précisément la durée d'un délai si aucune interruption logicielle ou matérielle n'est autorisée par ailleurs.
    Dernière modification par PA5CAL ; 13/04/2014 à 22h10.

  8. #7
    bisou10

    Re : quelle est la difference entre un timer et un delay ?

    Rapidement, on voit que tu codes pour un PIC.

    T0IF est une interruption. Tu peux bien sûr l'utiliser pour avoir la même fonction que _delay_ms(). D'ailleurs, _delay_ms() pourrait se baser sur T0IF. Il n'y a pas de différence: seulement des cas d'utilisation qui rendent l'une ou l'autre plus pratique (voire les 2).

    Après je plussoie PA5CAL. L'utilisation d'un timer, et à plus forte raison d'une IT sur un timer overflow, c'est plus complexe.

  9. #8
    JPL
    Responsable des forums

    Re : quelle est la difference entre un timer et un delay ?

    On laisse le sujet ici ou je le déplace en Électronique ?
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  10. #9
    bisou10

    Re : quelle est la difference entre un timer et un delay ?

    electronique, à mon avis

  11. #10
    Jack
    Modérateur

    Re : quelle est la difference entre un timer et un delay ?

    ​C'est fait

  12. #11
    freepicbasic

    Re : quelle est la difference entre un timer et un delay ?

    Le delayms n'est pas forcément stable car il peut être interrompu à tout moment, sauf si on interdit les interruptions,
    et de plus on ne peut rien faire d'autre pendant cette attente.

    Le timer génère une interruption précise, non bloquante; pendant ce temps le programme "main" peut se dérouler.
    Si le traitement de l'interruption est suffisamment cours le delay sera fixe à la précision de l'horloge.
    Si on fait du temps réel le timer est nécessaire et fonctionne si on ne crash pas le temps donc traitement plus court que l'int.

    Noter
    On utilise donc plutôt le timer non pas en "one shot" mais en interruption périodique.
    Et donc plus on a d'int plus le temps de traitement raccourcis.
    Le nombre de timers est généralement limité , donc l'utilisation pour une simple tempo unique et aléatoire n'est pas vraiment conseillé sauf si c'est la seule utilisée, mais quand on utilise un compilateur , la plupart du temps les personnes ne savent pas ce qu'il fait réellement, d’où l'intérêt de générer l'asm et de l'étudier un temps soit peu...
    A+, pat

Discussions similaires

  1. Quelle est la différence entre le PET et le PE
    Par invitebfe1eb08 dans le forum Chimie
    Réponses: 3
    Dernier message: 19/11/2009, 18h58
  2. Quelle est la différence entre...
    Par invite43bf67f7 dans le forum Électronique
    Réponses: 2
    Dernier message: 12/10/2006, 16h32
  3. quelle difference entre ces moteurs
    Par ABN84 dans le forum Électronique
    Réponses: 4
    Dernier message: 16/07/2006, 22h24
  4. quelle différence entre ces DVD ?
    Par invitef0b77be6 dans le forum Matériel - Hardware
    Réponses: 6
    Dernier message: 20/06/2005, 18h23
  5. quelle différence CD entre 1 X 40 et 2 X 48
    Par Cornemuse dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 04/01/2005, 22h55
Découvrez nos comparatifs produits sur l'informatique et les technologies.