Gestion Interruption PIC18F
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Gestion Interruption PIC18F



  1. #1
    denver60

    Gestion Interruption PIC18F


    ------

    Bonjour,

    Une question me turlupine quant à la réalisation d'un projet. Pour le pilotage de mon écran tactile, je souhaite faire intervenir des interruptions quand des données sur ce dernier sont disponibles à la lecture. Mais voilà mis à part le pilotage de l'écran, mon PIC effectue d'autres traitements : comme des conversions via le CAN, lecture de mesure sur un capteur numérique etc... Et concrètement je ne souhaite pas interrompre ces deux traitements que je viens de citer, car je pourrais avoir des conversions incomplète et bien d'autre problèmes pour l'acquisition de ces entrées. Alors je me demandais si pour ces 2 actions précédemment citées, s'il est forcément nécessaire d'utiliser des interruptions pour ne pas être interrompu lors de ces tâches, ou bien existe t-il une "astuce" qui permette de ne pas être interrompu ?

    Par avance, merci pour le partage de votre expérience dans ce domaine.

    -----

  2. #2
    RISC

    Re : Gestion Interruption PIC18F

    Salut,

    Les microcontroleurs travaillent très vite...
    Ils sont capables d'effectuer plusieurs taches régulièrement et séquentiellement de telle manière qu'on a l'impression qu'elles sont effectuées en parallèle.
    Si ton programme est conçu correctement et tes interruptions très courtes, tu n'auras aucun problème avec les taches que tu décris.
    L'interruption est généralement la méthode la plus efficace pour traiter des évènements synchrones ou asynchrones.

    a+

  3. #3
    denver60

    Re : Gestion Interruption PIC18F

    @RISC : Encore une fois un grand merci. Merci pour le partage de ton expérience, et merci pour ton activité sur ce forum !

    Ils sont capables d'effectuer plusieurs taches régulièrement et séquentiellement de telle manière qu'on a l'impression qu'elles sont effectuées en parallèle.
    Cela est vrai pour n'importe qu'elle vitesse d'oscillation du Micro ? Car moi par exemple, comme mon système va agir sur des variables avec une inertie importante, j'ai choisi de ne pas trop le "brusquer" en utilisant l'oscillateur interne à une fréquence de 8MHz.


    Si ton programme est conçu correctement et tes interruptions très courtes, tu n'auras aucun problème avec les taches que tu décris.
    Que veux-tu dire par "Si ton programme est conçu correctement" ? A quoi dois je faire attention exactement ?


    L'interruption est généralement la méthode la plus efficace pour traiter des évènements synchrones ou asynchrones.
    Pour ma part, les interruptions seraient plutôt asynchrones. En effet, le PIC et l'écran communiqueront via le bus SPI et l'écran dispose d'une PIN nommée ALERT permettant de prévenir quand une information est à disposition dans son buffer.


    Par avance merci de ta réponse.

  4. #4
    denver60

    Re : Gestion Interruption PIC18F

    Pour la gestion des interruptions en langages C, comment fait-on la sauvegarde puis la restauration des registres principaux ?

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

    Re : Gestion Interruption PIC18F

    Salut,
    Citation Envoyé par denver60 Voir le message
    Pour la gestion des interruptions en langages C, comment fait-on la sauvegarde puis la restauration des registres principaux ?
    Tu n'as pas à t'en occuper ;=) Le langage C fait cela pour toi

    Si tu utilises l'oscillateur interne interne, n'oublie pas qu'il est précis à +/- 5 % sur toute la gamme de température et de tension Vdd.

    Concernant la conception de ton programme, mon conseil est de faire le maximum sous interruptions. Cette méthode est la plus facile et la plus rationnelle dans l'utilisation du temps CPU par les différentes taches.

    a+

  7. #6
    denver60

    Re : Gestion Interruption PIC18F

    Concernant la conception de ton programme, mon conseil est de faire le maximum sous interruptions.
    N'est-ce pas finalement contradictoire avec le fait que les interruptions doivent être les plus courtes possibles ?

    D'ailleurs concernant la notion "d'interruptions courtes". J'ai un petit conseil à vous demander. Voilà, aujourd'hui j'interface un écran tactile avec mon PIC18F45K22 via le bus SPI. L'écran possède une pin ALERT me permettant de savoir si une donnée est présente dans le buffer de sortie de l'écran. Ce qui est bien pratique, car cela permet par exemple de savoir quand un évènement (un appui par exemple) est généré.

    Je souhaite donc utiliser ALERT comme source d'interruption, mais voilà un problème se pose. Pour ajuster ma valeur de consigne, j'ai créé 2 bouton "+" et "-" qui permettent d'incrémenter ou décrémenter (+/-0,1) la valeur de consigne. Mais il y a deux façons d'appuyer : la première par un de prompts appuis et la seconde par un appui prolongé (qui permet d'incrémenter ou décrémenter plus vite finalement). Mais je ne sais pas trop comment gérer ces évènements par peur que l'interruption soit trop longue en terme de temps.

    Que pouvez-vous me suggérer comme fonctionnement dans ce cas précis ?

    Par avance merci de votre réponse qui me sera d'une aide précieuse.

Discussions similaires

  1. Problème timer1/interruption pic18f
    Par invite00cf8b8f dans le forum Électronique
    Réponses: 4
    Dernier message: 05/08/2011, 07h45
  2. Réponses: 3
    Dernier message: 09/12/2010, 17h10
  3. [PIC]- Gestion Interruption -> Module EUSUART
    Par jorg1n dans le forum Électronique
    Réponses: 3
    Dernier message: 03/08/2009, 15h11
  4. Gestion des interruption avec un PIC
    Par schneiderj dans le forum Électronique
    Réponses: 3
    Dernier message: 08/03/2008, 16h26
  5. interruption PIC18F
    Par invite23732d21 dans le forum Électronique
    Réponses: 12
    Dernier message: 19/05/2006, 16h17
Découvrez nos comparatifs produits sur l'informatique et les technologies.