/* Objectifs du programme
Mesurer le temps logiciel pour rafraichir un écran LCD
A l'aide d'un analyseur logique mesurer le temps matériel de la liaison I2C
Comparer ces 2 temps.
Comment justifier que le premier temps affiché est plus court ?
Conclure et comparer avec la liaison UART
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h> // Using version 1.2.1
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Autre adresse utilisée en J101 Adresse : 0x3F
unsigned long t0,dt=0;
void setup()
{
lcd.begin(16,2); // 16 colonnes 2 lignes
lcd.print("Mesure temps"); // Débute par défaut Colonne 0 Ligne 0
}
void loop()
{
t0=micros(); // top départ chrono
lcd.setCursor(1,1); // Colonne 5 Ligne 1
lcd.print("dt=");
lcd.print(dt); // affiche le temps d’exécution des lcd.print
lcd.print(" us "); // affiche la variable T
dt=micros()-t0; // durée logicielle d’exécution
delay(1000); // rafraichissement toutes les secondes
}