Catégories
Projets électroniques

Arduino #33: Comment mesurer le temps d’exécution – deux techniques

Comment mesurer le temps d'exécution - deux techniques

Objectifs

  1. Importance
  2. Technique 1: Mesure logicielle
  3. Technique 2: Mesure par oscilloscope
  4. Comparaison

Importance

  1. Analyse des performances d’un algorithme
  2. Savoir les contraintes temporelles de son code
  3. Exécution précise des actions
  4. Etc.

Technique 1: Mesure logicielle

unsigned long Temps_start_us,Temps_stop_us, Duree_us;

unsigned long i,j;




void setup()

{

  Serial.begin(9600);

}




void loop()

{

  // Lecture tempo avant exécution - Start 

  Temps_start_us=micros();   




  // Programme - Algo A analyser 

  for(i=0; i<10; i++)

  {

    delayMicroseconds(100);

  }




  // Lecture tempo avant exécution - Stop

  Temps_stop_us=micros(); 




  // Mesure du temps

  Duree_us=Temps_stop_us-Temps_start_us;




  // Affichage du temps

  Serial.println(Duree_us);

}

Technique 2: Mesure par oscilloscope

unsigned long Temps_start_us,Temps_stop_us, Duree_us;

unsigned long i,j;




void setup()

{

  Serial.begin(9600);




  // PORTA en sortie & Init

  DDRA =0xff;

  PORTA=0x00;

}




void loop()

{

  // Mise à 1 de la sortie TOR 

  PORTA=0x03;




  // Programme

  for(i=0; i<10; i++)

  {

    delayMicroseconds(100);

  }

  // Mise à 0 de la sortie TOR 

  PORTA=0x00;




  // Attente cycle suivant

  delayMicroseconds(100);

}

Sujets connexes

  • arduino millis
  • fonction timer arduino
  • fonction millis arduino
  • arduino temporisation non bloquante
  • arduino gestion du temps
  • arduino boucles simultanées
  • arduino boucle temporelle
  • arduino actions simultanées

Laisser un commentaire