User Tools

Site Tools


in202:seance_4:led

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
in202:seance_4:led [2021/04/11 16:16]
bmonsuez
in202:seance_4:led [2022/11/18 10:47] (current)
Line 24: Line 24:
 } }
 </​code>​ </​code>​
 +
 +Nous voyons que le pseudo-code équivalent serait :
 +
 +<​code>​
 +Initialisation:​
 +  port LED_BUILDIN est un composant LED. Donc le port est en écriture.
 +  ​
 +Loop:
 +  allume la LED.
 +  attend une seconde.
 +  eteint la LED.
 +  attend une seconde.
 +</​code>​
 +
 +Si nous avions une classe ''​Led'',​ nous pourrions réécrire le code comme suit :
 +
 +<code cpp>
 +
 +Led builtinLed(LED_BUILTIN);​
 +  // Crée un objet LED connecté au port LED_BUILTIN
 +  ​
 +void setup() {}
 +
 +void loop() {
 +  builtinLed = true;
 +  delay(1000);​
 +  builtinLed = false;
 +  delay(1000);​
 +}
 +</​code>​
 +
 +Le code serait nettement plus lisible.
 +
 +On pourrait même inverser l'​état de la led et le code se réduirait à :
 +
 +<code cpp>
 +
 +Led builtinLed(LED_BUILTIN);​
 +  // Crée un objet LED connecté au port LED_BUILTIN
 +  ​
 +void setup() {}
 +
 +void loop() {
 +  builtinLed = !(builtinLed;​
 +  delay(1000);​
 +}
 +</​code>​
 +
 +
 +====== Action : Créer une classe Led ======
 +
 +Nous vous proposons de créer une classe ''​Led''​ ayant l'​entête suivante :
 +
 +<code cpp>
 +class Led
 +{
 +public:
 +  Led(uint32_t thePin);
 +  Led& operator = (bool isOn);
 +  operator bool() const;
 +  Led& operator ~(); // Optionel.
 +};
 +<​code>​
 +
 +
 +
 +</​code>​
 +
 +
 +  ​
 +
in202/seance_4/led.1618157781.txt.gz · Last modified: 2021/04/11 16:16 by bmonsuez