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 :

gestion de flux


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut gestion de flux
    bonjour,

    J'ai plusieurs périphériques (UART, USB, Ethernet, mémoire externe, mémoire interne...) sur un µControlleur 32 bits
    Je voudrais lire/écrire sur ceux-ci en standardisant les choses au maximum tout en ayant de bonnes performances et une conso ROM/RAM faible.
    donc je pensais faire des fonctions dans le genre :
    - STREAM fopen(nom du périphérique) // ouverture du flux
    - fputc(STREAM, charVal) // écrit dans le buffer tampon un caractère
    - fwrite(STREAM, data, len) // écrit dans le buffer tampon un nombre de caractère défini
    - fwriteLine(STREAM, *data) // écrit dans le buffer tampon une ligne
    - ERROR_CODE fflush(STREAM) // envoi des données (vide le buffer tampon)
    - ERROR_CODE fprintf(STREAM, *str, ...) // ecrit dans le buffer tampon (doit-on flusher automatiquement)
    - ERROR_CODE fgetc(STREAM, *ptChar)
    - ERROR_CODE fread(STREAM, *data, len)
    - ERROR_CODE freadLine(STREAM, *data)

    => je ne sais pas si les libraries standards du C incorporent déjà ce genre de fonctions.

    Comment feriez vous ? Comment doit-on gérer les flux (je n'ai de connaissance dans ce domaine) ? vous connaissez de bon tutos sur ça ?

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Ces fonctions existent en standard quoique certaines ont des prototypes qui peuvent être différents. Voir la documentation.
    Le nom de fwriteLine() est en standard fputs() et celui de freadLine() est fgets()

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut
    merci,

    Effectivement, j'ai trouvé les fonctions fgets() et fputs() dans la documentation des libraries du compilo (mais pas les autres) :
    http://ww1.microchip.com/downloads/e...0Libraries.pdf
    => le problème est que je ne vois pas comment faire pour définir mon périphérique de sortie, quelqu'un peut m'aider ?

    dans <stdio.h>, je trouve bien le prototype de ces fonctions mais je ne trouve nul par les codes sources pour voir comment c'est fait...

    PS : page d'acceuil du compilo http://www.microchip.com/stellent/id...cName=en532454 (composant basé sur architecture MIPS)

  4. #4
    Membre chevronné
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    Bonjour,

    As-tu regardé dans les répertoires du compilateur, il y à souvent un repertoire DEMO ou exemple
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut
    Il y a bien des exemple de comment utiliser les fonctions de base pour l'utilisation des périphériques mais nul part j'ai trouvé comment modifier les fonctions (fopen, fputs, ...) pour quelles écrivent à une autre endroit que la RAM

Discussions similaires

  1. [Process] Gestion des flux
    Par diamonds dans le forum API standards et tierces
    Réponses: 16
    Dernier message: 30/03/2007, 15h43
  2. Gestion des flux de matières dans 1 atelier
    Par ptit_bleu dans le forum Schéma
    Réponses: 4
    Dernier message: 23/02/2007, 09h55
  3. Gestion des flux de données
    Par pdiaz dans le forum Oracle
    Réponses: 2
    Dernier message: 10/01/2007, 16h30
  4. [WinDev 9 ] Gestion de flux http
    Par hegros dans le forum WinDev
    Réponses: 3
    Dernier message: 02/08/2006, 16h57
  5. gestion de flux
    Par mrtatou dans le forum C
    Réponses: 6
    Dernier message: 25/01/2006, 17h51

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