[PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

[PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0



  1. #1
    jorg1n

    [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0


    ------

    Bonjour,

    voila, je viens vers vous car je me pose une petite question...
    Je suis entrain de réaliser un petit système, qui intègre le fonctionnement du Timer 0 (IT toutes les 50 ms) et dans la routine d'IT, je ne fais que incrémenter des variables (4 variables).
    Mais voila, par moment je dois réaliser des écritures en EEPROM, tout en ayant mon ayant mon Timer0 activé, enfin, je peux le désactiver, et le réactiver ensuite, mais es ce que cela va modifier beaucoup de chose au niveau du comptage??
    Et es ce que je peux laisser mon TImer toujours allumer, et réaliser quand je le souhaite des Ecriture en EEPROM, Quel est le risque?

    J'espère que j'ai été assez clair dans mon explication

    Merci d'avance en tout cas

    Bonne journée a tous... (sous ce magnifique soleil )

    -----

  2. #2
    sdec25

    Re : [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0

    Salut,
    Arrêter le timer va fausser le comptage. Si l'écriture dure 1ms, la période va durer 51ms au lieu de 50.

    Si tu n'arrêtes pas le timer :
    • Si tu es sûr que la période ne dépasse pas 50ms c'est bon. Mais c'est risqué (a priori 50ms c'est assez mais ça dépend de ce que tu fais d'autre et je ne sais pas s'il y a un temps max d'écriture en EEPROM)
    • Sinon, et si tu dépasse la période tu vas retarder l'interruption suivante, et le comptage sera faussé.

    Si c'est possible je te conseille de faire l'écriture de l'EEPROM dans le programme principal et pas dans l'interruption. Comme ça tu ne modifie pas la période des interruptions, et si jamais il y a plusieurs données à écrire tu les mets en file d'attente.

  3. #3
    ak47only

    Re : [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0

    Salut,
    le temps d'ecriture dans l'EEPROM est dans la datasheet, dans la section DC Characteristics. Pour un pic16F876 le temps max est d'environ 8ms.

  4. #4
    jorg1n

    Re : [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0

    Merci pour les informations,

    je pense que je vais quand même arrêter le timer le temps de l'écriture, ça ne changera pas grand chose pour mon système...

  5. A voir en vidéo sur Futura
  6. #5
    jorg1n

    Re : [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0

    Par contre, au niveau de l'arret du timer, est ce que je peu faire cela:

    Code:
    INTCONbits.TMR0IE = 0;	
    SaveIntoEEPROM (0x010, (unsigned char*)&Defaut, sizeof(Defaut) );
    INTCONbits.TMR0IE = 1;
    Le timer s'arrêtera bien pendant l'écriture en EEPROM et reprendra bien après??

    Merci d'avance

  7. #6
    sdec25

    Re : [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0

    Citation Envoyé par jorg1n Voir le message
    je pense que je vais quand même arrêter le timer le temps de l'écriture, ça ne changera pas grand chose pour mon système...
    ok, mais selon moi c'est la plus mauvaise des solutions. Et arrêter le timer n'apporte rien.

    Le timer s'arrêtera bien pendant l'écriture en EEPROM et reprendra bien après??
    Si tu mets le bit TMRxON à 0 le timer s'arrête.

  8. #7
    ak47only

    Re : [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0

    Laisse tourner ton TIMER, mais si il travail en interruption n'oublie pas d'interdire les interruptions quand tu écris dans l'eeprom.

  9. #8
    jorg1n

    Re : [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0

    Laisse tourner ton TIMER, mais si il travail en interruption n'oublie pas d'interdire les interruptions quand tu écris dans l'eeprom.
    C'est ce que je compte faire en agissant sur TMR0IE.

    Sinon, je ne vois pas comment faire, mais vu que si je dois sauvegarder une donnée en EEPROM, ça veut dire que j'ai un défaut de fonctionnement sur mon petit système, alors le décalage n'est pas genant, car il n'altèrera en rien le bon fonctionnement de la suite..

    Merci encore

  10. #9
    sdec25

    Re : [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0

    re,
    J'ai peut-être mal compris ta question : tu veux écrire dans l'eeprom dans ta routine d'interruption ou dans le programme principal ?
    Parce que dans les routines d'écriture en eeprom on désactive normalement les interruptions à un certain moment (avec INTCONbits.GIE).
    Et puis mettre le bit TMR0IE à 0 n'arrête pas le timer, ça empêche juste les interruptions.

  11. #10
    jorg1n

    Re : [PIC] - Ecriture/Lecture en EEPROM -> Etat du timer 0

    Bonjour,

    en ce qui concerne le lieu de l'écriture, je le fais dans mon programme principal, mais par contre, tu as raison, je ne me rappellai plus de ma fonction d'écriture en EEPROM, mais j'inhibe toutes les interruptions:
    Code:
      GIE_Status = INTCONbits.GIE;      //Save global interrupt enable bit
      INTCONbits.GIE=0;                 //Disable global interrupts
    
      EECON2 = 0x55;	        		// Required sequence to start write cycle
      EECON2 = 0xAA;					// Required sequence to start write cycle
      EECON1bits.WR = 1;		        // Initiates a data EEPROM erase/write cycle
      while(EECON1bits.WR);		        // Wait for completion of write sequence
    
      INTCONbits.GIE=GIE_Status;        //Restore the original global interrupt status
    Donc pas besoin de le refaire...

    Merci pour cette réflexion sdec25

Discussions similaires

  1. pic 16F ecriture et lecture d'un bit en memoire
    Par alainav1 dans le forum Électronique
    Réponses: 16
    Dernier message: 21/06/2009, 21h28
  2. [PIC]-Lecture sauvegarde en EEPROM aléatoire
    Par jorg1n dans le forum Électronique
    Réponses: 14
    Dernier message: 04/06/2009, 13h55
  3. Ecriture/Lecture sur PIC 16F877A
    Par flyingrock dans le forum Électronique
    Réponses: 9
    Dernier message: 24/04/2009, 18h26
  4. ecriture et lecture eeprom
    Par invite1a90427b dans le forum Électronique
    Réponses: 2
    Dernier message: 21/03/2007, 10h22
  5. Lecture et ecriture dans eeprom 24c02
    Par invite3d33f9e2 dans le forum Électronique
    Réponses: 2
    Dernier message: 29/06/2006, 19h32
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...