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 :

Fonctions d'interruptions en c


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par défaut Fonctions d'interruptions en c
    bjr tout le monde, je fais un test, avec un modem, et j'écrit en c (pour builder) une fonction qui permet d'nevoier e t recevoir des messages (sous formes d'octects) et je sne sais pas du tout comment m'y prendre pour faire les fonctions d'interuptions (une lorsque le message est envoyé et une lorsque le mesage et recu).
    je me disais :
    pour le message recu:
    fonction bool:
    retourne vrai -> vide
    ??
    merci d'avance

  2. #2
    Membre chevronné
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Par défaut
    Salut,

    Quel est ton environnement de travail (builder donc je suppose windows )
    Comment communique ton modem ? (en RS232 sûrement...)

    Il te faut alors regarder selon ton OS comment interagir avec le port série de ton PC. Tu trouveras sur ce forum des sujets qui traite de problème comme ici :
    http://www.developpez.net/forums/d13...-deux-codes-c/

    Bon courage
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Si tu dois vraiment écrire les fonctions qui sont appelées par l'interruption hardware, alors un conseil, fait le moins de choses possible dans cette fonction.

    Dans le genre tu positionnes un booléen pour indiquer que l'envoi est terminé ou alors tu écris dans une queue d'octets le caractère reçu et ensuite tu lèves un événement au programme principal pour lui indiquer qu'il a du boulot et tu quittes l'interruption le plus vite possible en laissant le boulot au programme principal.

    Moins tu en fais dans une fonction d'interruption hardware, moins il y a de risque de bug et un bug dans une interruption, la sanction est quasiment immédiate reboot ou crash ou BSOD ou kernel panic
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Je ne connais pas les interruptions hardware sous Linux mais pour (tous ?) les autres OS embarqués, les interruptions doivent également être les plus courtes possible. En effet, pendant ce temps-là, l'OS est interrompu et cela implique notamment que l'ordonnanceur est à l'arrêt.

  5. #5
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    ... et sur certaines plateformes, que les interruptions moins importantes peuvent être ignorées/masquées, ou qu'un nombre fixe soit stacké et pas plus.
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction Hook + interruption liaison série
    Par joeb37 dans le forum Windows
    Réponses: 2
    Dernier message: 18/05/2009, 17h33
  2. [TASM][Débutant] Fonction 0AH de l'interruption 21h
    Par Punkfloyd1967 dans le forum x86 16-bits
    Réponses: 1
    Dernier message: 13/04/2008, 14h08
  3. fonctions de l'interruption 80
    Par emmesse dans le forum Administration système
    Réponses: 7
    Dernier message: 11/06/2007, 14h45
  4. Fonctions d'interruptions en C
    Par amadoulamine1 dans le forum C
    Réponses: 10
    Dernier message: 09/04/2007, 15h03
  5. Fonction interruption en nanosecondes ?
    Par windowsfashion dans le forum Windows
    Réponses: 17
    Dernier message: 26/10/2006, 18h18

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