Source

pymite_stm32f4 / source / tutorials / blinking_led.rst

Full commit

Une led clignotante

  1. Faire clignoter une des LEDs de la STM32F4:

    La carte STM32F4 possède 4 LEDs que l'on peut piloter, soit directement grâce au mode interactif, soit au sein de votre programme

    python2.6 ipm.py -f ../platform/stm32f4/pmfeatures.py --serial=/dev/ttyUSB0 --baud=57600

    syntaxe

    ipm> import stm32f4discovery as x
    # allume la première LED
    # dans notre exemple le deuxième argument (100) peut prendre une valeur
    # allant de 0 à 255
    ipm> x.LED(0,100)
    # éteind la LED
    ipm> x.LED(0,0)
    ipm> import sys
    # une boucle qui fait clignoter la LED
    # avec un temps d'attente de 400ms entre chaque action
    ipm> while True:
    ....   sys.wait(400)
    ....   x.LED(0,100)
    ....   sys.wait(400)
    ....   x.LED(0,0)
    
  2. Faire clignoter une LED branchée sur le port E7. Suivez le schéma de montage, branchez tous les éléments sur plaque de test connectez la LED ainsi que la résistance dont vous aurez calculé la valeur. Il ne reste plus qu'à la faire clignoter.

    python2.6 ipm.py -f ../platform/stm32f4/pmfeatures.py --serial=/dev/ttyUSB0 --baud=57600

    syntaxe

    # import les différents modules et fonctions nécessaires
    ipm> import sys
    ipm> from pin import PE7
    ipm> from gpio import pin_mode, digital_write, OUTPUT, INPUT, HIGH, LOW
    # configure le port PE7 en sortie
    ipm> pin_mode(PE7, OUTPUT)
    ipm> while True:
    ....    sys.wait(400)
    ....    digital_write(PE7, HIGH)
    ....    sys.wait(400)
    ....    digital_write(PE7, LOW)
    
  1. Commander une LED branchée sur le port E7 grâce au bouton utilisateur (le bleu ...) Suivez le schéma de montage, branchez tous les éléments sur plaque de test connectez la LED ainsi que la résistance dont vous aurez calculé la valeur. Il ne reste plus qu'à écrire le code dans le prompt interactif

    python2.6 ipm.py -f ../platform/stm32f4/pmfeatures.py --serial=/dev/ttyUSB0 --baud=57600

    syntaxe

    # import les différents modules et fonctions nécessaires
    ipm> import stm32f4discovery as x
    ipm> import sys
    ipm> from pin import PE7
    ipm> from gpio import pin_mode, digital_write, OUTPUT, INPUT, HIGH, LOW
    ipm> pin_mode(PE7, OUTPUT)
    ipm> while True :
    ....     while 0==x.BTN():
    ....       sys.gc()
    ....       sys.wait(100)
    ....     while 0==x.BTN():
    ....       digital_write(PE7,HIGH)
    ....       sys.wait(300)
    ....       digital_write(PE7,LOW)
    ....       sys.wait(300)