IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Interruption logicielle PIC18F


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Par défaut Interruption logicielle PIC18F
    Bonjour à tous,

    Je développe actuellement une application sur un PIC18F458 avec le compilateur C18.

    Je souhaite faire une interruption logicielle toutes les 100ms par exemple, pour éffectuer un calcul.

    Je m'explique, je fait l'acquisition d'une valeur sur AN0, et toutes les 100ms, je souhaite sauvegarder cet valeur et après la sommer avec les futures valeurs qui arriveront sur AN0.

    La première partie : l'acquisition se déroule bien. Et donc maintenant mon problème est de crée une interruption logicielle pour sommer les valeurs qui arriveront sur AN0. Et pour le moment je ne sait pas trop comment faire.

    Si quelqu'un aurais des idées pouvant résoudre mon problème, je lui en serais très reconnaissant.

    Merci d'avance,

  2. #2
    Membre averti Avatar de royal380
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprenti Ingénieur

    Informations forums :
    Inscription : Mai 2011
    Messages : 56
    Par défaut
    Si j'ai bien compris tu code pour adaptation sur micro-contrôleur ?

    Dans la brochure du composant tu vas trouver le code pour autoriser une interruption.

    Ensuite dans ton programme d'interruption, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     void INTER()
    {
       INTE.x= 0;// autorise les interruptions sur tel ou tel broche
        variable_pour_savoir_si_inter = 1;
       xxxxxxx // Ici tu remets le flag à 0 pour pouvoir réutiliser l'interruption
    }
    Et dans le main tu fais un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(variable_pour_savoir_si inter == 1)
    { somme = somme + nouvelleValeure;
    variable_pour_savoir_si inter=0;
    }

Discussions similaires

  1. Quel logiciel (EDI) pour débuter en programmation ?
    Par mimosa69 dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 17/01/2016, 16h45
  2. Gestion des interruptions matérielles et logicielles
    Par Eric_03 dans le forum Administration système
    Réponses: 1
    Dernier message: 17/03/2015, 15h04
  3. Réponses: 10
    Dernier message: 05/05/2014, 16h33
  4. Interruption logicielle dans Windows ?
    Par tut dans le forum Visual C++
    Réponses: 5
    Dernier message: 30/09/2008, 15h58
  5. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo