-
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 ?
-
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()
-
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)
-
Bonjour,
As-tu regardé dans les répertoires du compilateur, il y à souvent un repertoire DEMO ou exemple
-
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