Modifications

Sauter à la navigation Sauter à la recherche
256 octets ajoutés ,  23 février 2015 à 20:46
Ligne 58 : Ligne 58 :  
Ensuite, nous accédons à la Nième LED et nous modifions son état avec la méthode {{fname|toggle}}. Si vous exécutez ce code, vous devriez voir toutes les LEDs s'allumer puis toutes les LEDs s'éteindre.
 
Ensuite, nous accédons à la Nième LED et nous modifions son état avec la méthode {{fname|toggle}}. Si vous exécutez ce code, vous devriez voir toutes les LEDs s'allumer puis toutes les LEDs s'éteindre.
   −
{{traduction}}
+
Un problème que vous pourriez rencontrer lorsque vous arrêtez puis redémarrer le script, c'est que les LEDs restent dans l'état du précédent fonctionnement, ruinant ainsi votre chorégraphie Disco préparée avec tellement de soin. Nous pouvons facilement corriger ce problème en éteignant les LEDs lorsque nous initialisons le script ET en utilisant ensuite un bloc try/finally. Lorsque vous pressez CTRL-C, Micro Python génère une exception VCPInterrupt. Les exceptions signifie généralement que quelque-chose s'est mal déroulé. Vous pouvez utiliser une commande {{fname|try:}} pour "''attraper''" l'exception. Dans ce cas, il s'agit de l'arrêt du script provoqué par l'utilisateur, nous n'avons pas besoin d'attraper l'erreur mais juste d'informer Micro Python de ce qui doit être fait lorsque l'on quitte le script. C'est ce que réalise le bloc {{fname|finally}} et nous l'utilisons pour faire en sorte que toutes les LEDs soient éteinte. Le code complet est:
 
  −
One problem you might find is that if you stop the script and then start it again that the LEDs are stuck on from the previous run, ruining our carefully choreographed disco. We can fix this by turning all the LEDs off when we initialise the script and then using a try/finally block. When you press CTRL-C, Micro Python generates a VCPInterrupt exception. Exceptions normally mean something has gone wrong and you can use a try: command to “catch” an exception. In this case it is just the user interrupting the script, so we don’t need to catch the error but just tell Micro Python what to do when we exit. The finally block does this, and we use it to make sure all the LEDs are off. The full code is:
      
  <nowiki>leds = [pyb.LED(i) for i in range(1,5)]
 
  <nowiki>leds = [pyb.LED(i) for i in range(1,5)]
29 917

modifications

Menu de navigation