oudkaramla
Messages postés107Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention 5 juillet 2004
-
18 juin 2004 à 11:37
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
21 juin 2004 à 22:34
Salut tout le monde,
est ce que quelqu'un veut bien m'expliquer le parcours des fonctions API à travers le système d'exploitation. merci je m'intéresse précisaiment à: Createfile Writefile et readfile
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 18 juin 2004 à 11:53
fopen n'est pas une fct API, mais une ftc des librairies C/C++ qui fait appel à CreateFile (sous windows) à un moment ou à un autre pour ouvrir le fichier. En compilant pour un autre système elle fera appel à autre chaose.
oudkaramla
Messages postés107Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention 5 juillet 2004 18 juin 2004 à 14:58
pardon c'est readfile()
qu'elle est sa relation avec le comm.drv
est ce que fopen fait appel à readfile?
Pourquoi readfile met plus de temps en comparaison avec les appels d'intérruptions par exemple.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 18 juin 2004 à 16:46
le temps de lecture dépend du taux de transfert (pour lire 1024 octets à 9600 baups il faut environ 1 seconde).
en ce qui concerne la différence de temps par rapport à l'utilisation des interruptions je suppose qu'il doit y avoir une succession d'appels à d'autres fct et des vérifications diverses avant la lecture. De toute façon, il est préferrable d'utiliser ReadFile que les interruptions pour lire sur le port série car sur les OS récents l'accès aux interruptions n'est pas autorisé directement.
sinon qu'entends tu par temps consirérable ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 19 juin 2004 à 01:13
attention, dans la source que j'ai posté, dans la structure COMMTIMEOUTS, j'ai mis 5 secondes d'attente min avant que la fonction ReadFile ne retourne (pour attendre un peu)
en mettant 0 à tous les champs (valeurs par défaut), ReadFile attend indéfiniement que des données arrivent. en mettant des 0 partout sauf 0xFFFFFFFF au premier, ReadFile retourne immédiatement avec ce qu'il y a eu de reçu au moment de l'appel.
oudkaramla
Messages postés107Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention 5 juillet 2004 21 juin 2004 à 09:38
merci,
je t'explique, la réponse que je veux recevoir ne fait que 16 caractères. Alors qu'est ce que je dois mettre dans la structure pour avoir une réponse instantanée.
merci
avec ça, ReadFile retournera immédiatement avec ce qui été reçu jusque là. Il te faudra peut être appeler plusieurs fois la fct en stockant à la suite du buffer pour avoir la totalité de la trame