Calculer volume de données port série

Calculer volume de données port série - C - Programmation

Marsh Posté le 07-04-2008 à 15:12:02    

Bonjour,
 
Je dispose d'un module connecté à mon port série et je souhaiterais pouvoir calculer le volume de données qui a circulé sur la liaison durant un intervalle de temps données. Je peux communiquer avec le module à l'aide d'une API qui me fournit les fonctions qui vont bien. Comment est il possible de calculer le nombre d'octets reçu par le pc via le port série?
 
Par avance merci

Reply

Marsh Posté le 07-04-2008 à 15:12:02   

Reply

Marsh Posté le 07-04-2008 à 15:18:23    

En gardant la trace du nombre de bytes lus à chaque réception ?

Reply

Marsh Posté le 07-04-2008 à 22:15:26    

Nitro12 a écrit :

Je dispose d'un module connecté à mon port série et je souhaiterais pouvoir calculer le volume de données qui a circulé sur la liaison durant un intervalle de temps données. Je peux communiquer avec le module à l'aide d'une API qui me fournit les fonctions qui vont bien. Comment est il possible de calculer le nombre d'octets reçu par le pc via le port série?


Aucun rapport avec le langage C. C'est de la physique élémentaire. Pour calculer un débit, on doit évaluer une quantité par unité de temps.

 

Il faut donc :

 
  • un compteur qui compte les octets émis et reçus
  • un mécanisme qui vient régulièrement calculer le rapport entre ces nombres et la durée (débit moyen) ou par unité de temps (débit instantané).


Simulation d'un débit de 18 à 22 patates par seconde :

Code :
  1. #include "ed/inc/random.h"
  2. #include "ed/inc/prt.h"
  3. int main (void)
  4. {
  5.    randomize ();
  6.    int sec;
  7.    int count = 0;
  8.    for (sec = 1; sec <= 10; sec++)
  9.    {
  10.       int data = 18 + random (4);
  11.       count += data;
  12.       {
  13.          double debit = data / 1.0;
  14.          PRT_D (debit);
  15.       }
  16.       {
  17.          double debit_moyen = count / (double) sec;
  18.          PRT_D (debit_moyen);
  19.       }
  20.       printf("\n" );
  21.    }
  22.    return 0;
  23. }



debit        = 19.00
debit_moyen  = 19.00

 

debit        = 21.00
debit_moyen  = 20.00

 

debit        = 20.00
debit_moyen  = 20.00

 

debit        = 21.00
debit_moyen  = 20.25

 

debit        = 20.00
debit_moyen  = 20.20

 

debit        = 20.00
debit_moyen  = 20.17

 

debit        = 20.00
debit_moyen  = 20.14

 

debit        = 19.00
debit_moyen  = 20.00

 

debit        = 21.00
debit_moyen  = 20.11

 

debit        = 20.00
debit_moyen  = 20.10

 


Press ENTER to continue.


Message édité par Emmanuel Delahaye le 07-04-2008 à 22:30:37

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 08-04-2008 à 14:06:29    

Merci pour vos réponses. Je regarde ca

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed