Un pic peut-il faire deux choses à la fois ? - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 41 sur 41

Un pic peut-il faire deux choses à la fois ?



  1. #31
    Kowentin

    Re : Un pic peut-il faire deux choses à la fois ?


    ------

    Necessite un oscillateur externe, s'pas trop un soucis, c'est plutot le fait que ca monopolise une broche
    Pour mesurer, il faut que j'injecte le programme dans le PIC car la simu ne me permet pas de faire des mesures du tout, il permet juste de simplifier la programmation et de tester le programme en mettant des écrans LCD, leds, boutons..., bref, c'est assez bien fait, mais limité...

    Si j'ai bien tout compris, le fait d'utiliser un quartz à 32,768 kHz pour le PIC augmente considérablement la durée de traitement d'une étape, ou plutot, réduit le nombre d'instructions que le PIC peut traiter par seconde c'est bien ca ?

    -----

  2. #32
    Kowentin

    Re : Un pic peut-il faire deux choses à la fois ?

    Citation Envoyé par sdec25 Voir le message
    Si j'ai bien compris, sur tes captures d'écran tu as un timer 8 bits, prescaler 32 et oscillateur 32768 Hz ?
    Si mes calculs sont bons on a 32768/4 = 8192 Hz de fréquence de traitement d'instructions, divisé encore par 32 et on obtient bien 256 qui va faire déborder le timer.

    Tu peux toujours essayer avec MPSIM. Mais à moins que tu n'utilises un oscillateur de fréquence multiple d'1 seconde, il faudra initialiser le timer à une valeur différente de 0.
    Le prescaler je peux le régler entre 1 et 256 ( 1 2 4 8 16 32 64 128 256)
    Le nombre de bits n'est pas réglable
    Je vais télécharger MPSIM pour tester
    merci

    edit: il y a un mode de personnalisation pour l'interruption:



    Mais ça ne parle pas de TRM0H et TRM0L =\

  3. #33
    sdec25

    Re : Un pic peut-il faire deux choses à la fois ?

    Citation Envoyé par Kowentin Voir le message
    Si j'ai bien tout compris, le fait d'utiliser un quartz à 32,768 kHz pour le PIC augmente considérablement la durée de traitement d'une étape, ou plutot, réduit le nombre d'instructions que le PIC peut traiter par seconde c'est bien ca ?
    Oui c'est ça.

    Donc même si tu utilises un oscillateur de 32 Khz pour l'heure, utilises-en un plus rapide pour le PIC.

  4. #34
    sdec25

    Re : Un pic peut-il faire deux choses à la fois ?

    Mais ça ne parle pas de TRM0H et TRM0L =\
    Ton logiciel ne gère pas toutes les possibilités du PIC.
    Est-ce que tu as lu la datasheet du PIC ?

    Voici un exemple de programmer avec un timer toutes les secondes, en utilisant l'oscillateur interne 8 Mhz
    Code:
    // dans main
    T0CON = 0b00000100; // prescaler 32
    TMR0H = 0;
    TMR0L = 0;
    T0CONbits.TMR0ON = 1;
    
    
    void fct_interrupt() {
    // à corriger si le temps de traitement d'interruption est trop grand
    TMR0H = 11;
    TMR0L = 220;
    INTCONbits.TMR0IF = 0;
    
    ...
    }

  5. #35
    Kowentin

    Re : Un pic peut-il faire deux choses à la fois ?

    Citation Envoyé par sdec25 Voir le message
    Ton logiciel ne gère pas toutes les possibilités du PIC.
    Je n'en doute pas, c'est un truc de féniasse qui fait "tout tout seul" (tu fais l'algo, il fait le C, l'ASM et programme le PIC), ça ne peut pas être complet

    Citation Envoyé par sdec25 Voir le message
    Est-ce que tu as lu la datasheet du PIC ?

    Voici un exemple de programmer avec un timer toutes les secondes, en utilisant l'oscillateur interne 8 Mhz
    Code:
    // dans main
    T0CON = 0b00000100; // prescaler 32
    TMR0H = 0;
    TMR0L = 0;
    T0CONbits.TMR0ON = 1;
    
    
    void fct_interrupt() {
    // à corriger si le temps de traitement d'interruption est trop grand
    TMR0H = 11;
    TMR0L = 220;
    INTCONbits.TMR0IF = 0;
    
    ...
    }
    Je l'ai parcourue rapidement, je vais l'imprimer et la lire entièrement ce soir

  6. #36
    sdec25

    Re : Un pic peut-il faire deux choses à la fois ?

    En fait la solution la plus précise est celle avec l'oscillateur 32,768 KHz sur entrée timer, prescaler 128 et timer 8 bits. Puisqu'on ne modifie jamais le registre du Timer on est sûr qu'entre 2 interruptions il y a 32768 / 128 / 256 = 1 seconde

    Avec l'oscillateur interne il y a une erreur d'une dizaine de µs par seconde, ce qui fait un trop sur une longue durée.

  7. #37
    Kowentin

    Re : Un pic peut-il faire deux choses à la fois ?

    Donc un quartz de 10 - 20 MHz pour le PIC, et un 32768 pour l'horloge, sur la broche d'interruption ?

  8. #38
    sdec25

    Re : Un pic peut-il faire deux choses à la fois ?

    Citation Envoyé par Kowentin Voir le message
    Donc un quartz de 10 - 20 MHz pour le PIC, et un 32768 pour l'horloge, sur la broche d'interruption ?
    Pour le PIC pas besoin d'un oscillateur trop rapide, ni trop précis. L'oscillateur interne 4 Mhz fera l'affaire.

    Pour l'horloge, si c'est sur la broche d'interruption on aura 32768 interruptions par seconde
    Il faut la mettre sur l'entrée d'un timer comme avait proposé cherwam07.

    PS : j'ai peut-être parlé un peu vite, c'est sûrement possible de ne pas avoir d'erreur en utilisant l'oscillateur interne mais ce serait trop compliqué.
    Dernière modification par sdec25 ; 28/08/2008 à 22h10.

  9. #39
    invitee0bbe70d

    Re : Un pic peut-il faire deux choses à la fois ?

    Bonsoir,

    Quelques précisions importantes coté précision des horloges...

    A/ L'oscillateur intégré de type RC : quelques %
    B/ Un quartz 32 kHZ (50ppm au mieux) : environ 2mn par mois
    C/ Un 4 ou 8MHZ (de l'ordre du ppm) : qq secondes par mois

    De plus si on recharge un timer pendant l'interruption cela introduit une erreur supplémentaire...

    Donc, si tu utilises un 32kHz, le mieux c'est d'utiliser le TIMER 1 SANS le recharger et donc d'avoir une interruption toutes les 2 secondes.
    Attention à l'utilisation de ce timer car il existe une limitation connue : http://ww1.microchip.com/downloads/e...Doc/80329a.pdf

    L'horloge la plus précise c'est celle générée par le quartz haute vitesse due à sa très faible erreur si tu le choisis bien (de l'ordre de 1 ppm).
    Si tu utilises le TIMER0, il vaut mieux le laisser faire un overlofw pour éviter l'erreur de rechargement.
    Le TIMER2 est du type auto-reload donc pas d'erreur...

    De mon point de vue, si cela est possible je te recommande donc le TIMER2 avec comme source d'horloge le quartz principal.

  10. #40
    Seb.26

    Re : Un pic peut-il faire deux choses à la fois ?

    Citation Envoyé par microchip Voir le message
    Donc, si tu utilises un 32kHz, le mieux c'est d'utiliser le TIMER 1 SANS le recharger et donc d'avoir une interruption toutes les 2 secondes.
    Pas d'accord : il suffit de positionner à 1 le bit de poids fort, ce qui ce fait donc sans perte de précision ...
    ( LE uCPU a 1 seconde pour mettre 1 bit à 1 ... ça devait aller ... )

    Par contre, avec un Quartz en MHz, il faut positionner les valeurs du compteur 16b ... donc il y a une incertitude ... surtout si d'autres IT sont activées en même temps ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  11. #41
    invite2d9e7c03

    Re : Un pic peut-il faire deux choses à la fois ?

    Citation Envoyé par Kowentin Voir le message
    Ce n'est apparement pas possible avec Flowcode
    Pour simuler le fonctionnement de pic je te propose ce simulateur:

    http://www.oshonsoft.com/picsimulatoridesetup.exe
    il disponible en version demo
    Limitations: 30 jours, 60 lignes sur le compilateur.
    Mais si tu as déja ton code compilé il ya pas de limitation de taille.
    La simulation est trés correctes avec les tempos. C'est trés pratique(le simulateur seulement mais son compilateur est déconseillé).

    Bon courage.

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Peut-on faire changer les choses
    Par invite10e0b6bc dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 1
    Dernier message: 08/10/2007, 07h58
  2. Visual basic et windows, deux choses différentes ou sont liées?
    Par invite3c4c47ae dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 14/06/2006, 08h50
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...