Bonjour.
Je cherche des exemples montrant comment insérer une interruption dans un programme sous flowcode.
Merci d'avance.
-----
Bonjour.
Je cherche des exemples montrant comment insérer une interruption dans un programme sous flowcode.
Merci d'avance.
Bonjour.
Je suis toujours perdu concernant les interruptions dans flowcode, je sais ce qu'est une interruption mais la mettre où dans le programme et comment la configurer c'est là le problème.
J'ai fais un programme pour feux de carrefour mais je veux qu'il bascule en feu orange clignotant à la tombée de la nuit à une certaine heure.
Je joint l'organigramme du programme principale et la macro qui doit être appelée par l'interruption
.Flowcode1.fcf Macro - detresse.jpg
Flowcode1.fcf - Main.jpg
Merci d'avance pour toute aide.
Bonjour,
Je ne connais pas flowcode, mais le principe est toujours le même.
L'interruption est posée dans le programme principal (conditions de déclenchements) au début, en général.
Le programme d'interruption est un sous programme, avec une étiquette spéciale, poser une nouvelle déclaration si on veut pouvoir la redéclencher et un return à la fin.
MM
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Merci mag1
Le problème c'est que je ne sais pas où poser cette interruption, avant la boucle ou après la boucle et comment la paramétrer pour que une fois le port "int" est revenu à l'état "0", la macro passe la main au programme principale .
On pose l'interruption où on veut, mais avant l'évènement qui va la déclencher évidemment.
Chaque interruption ne "sert qu'une fois", si on veut la déclencher une autre fois, il faut poser une nouvelle interruption à la fin de la routine d'interruption.
Enfin, c'est ainsi dans ce que je pratique, ailleurs , je ne sais pas.
MM
Dernière modification par mag1 ; 04/04/2016 à 13h28.
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Bonjour,
Tu mets l'activation de ton interruption au début du programme, comme tu ne la désactives pas, inutile de la mettre dans la boucle.
Tu crées une macro d'interruption qui sera appelée et exécutée quand l'interruption sera activée.
A la fin de l'exécution de ta macro d'interruption, tu reviens à l'endroit du programme ou tu étais...
Bonjour,
N'y at-il pas d'exemple de mise en oeuvre des interruptions fournies avec Flowcode ?
Il me semblait que leur dossier "Educational" était bien fourni et raisonnablement bien fait
Crdt
Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.
Bonjour.
Merci Cubitus mais comment revenir au programme principale depuis la macro ? Les points de jonctions ne le permettent pas.
c'est automatique ...A la fin de l'exécution de ta macro d'interruption, tu reviens à l'endroit du programme ou tu étais...
Je n'ai pas réussi à mettre en oeuvre cette interruption mais je n'arrive toujours pas.
j'ai mis un switch sur le port " int" mais en le manipulant il active la macro signe que l'interuption est opérationnelle mais cette macro reste malgré que j'actionne de nouveau ce switch.
c'est normal....
Dans les images que tu montres.
La première c'est tant que 1 > boucle infinie
La seconde l'interruption sans doute... tu as une boucle tant que capteur=1... capteur n'est jamais actualisé donc boucle infinie....
Alors comment je dois faire Cubitus ?
Où est situé le problème, que dois je faire au juste ?
Je suis débutant dans flowcode et je ne sais pas comment renseigner une interruption ?
Tu dois déjà réaliser une horloge (l’interruption d'un timer sera utile).(24h c'est 24*60*60s)J'ai fais un programme pour feux de carrefour mais je veux qu'il bascule en feu orange clignotant à la tombée de la nuit à une certaine heure.
Arrivé à une certaine valeur de l'heure ton cycle bascule sur les feux clignotants...
des simples conditions "si" doivent convenir...
Mais avant d'aller plus loin, il est IMPÉRATIF de poser clairement un cahier des charges et un schéma de câblage de ton système.
essaye avec blockly il y a une version dédiée arduino ... ce devrait être bien plus évident qu'avec flowcode.
Bonjour.
J'ai mis une condition dans le programme principale et çà a marché.
Je joins l'organigramme sous "Flowcode" .
Si quelqu'un a une meilleure idée pour l'améliorer, je lui tire chapeau.
Merci d'avance
Ne pas exagérer.... ton programme est très simple.Si quelqu'un a une meilleure idée pour l'améliorer, je lui tire chapeau.
Change ton "si" en une boucle "tant que capteur =1"
si tu mets
sortir 0-> portA et immédiatement 255 ->Port A autant laisser 255 ->Port A
de même si tu mets 255 ->Port A puis 255 ->Port A autant laisser 255 ->Port A
![]()
Bonjour,
En complément de ce qu'écrit Cubitus :
Les points de jonction (équivalent au "GOTO") sont à éviter autant que possible tant ils compliquent la lecture d'un programme. On peut généralement s'en passer, par exemple en utilisant des boucles.
Ce n'est pas critique sur ton programme assez simpliste, mais autant prendre dès à présent les bonnes habitudes![]()
Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.
Bonjour.
J'aurais aimer que quelqu'un puisse m'aider pour remplacer cette condition " Si" par une interruption que je n'arrive pas à maitriser .
Merci à Antoine et cubitus, c'est très gentil de votre part.
Je me demande pourquoi cubitus a supprimé la moitié de mon programme alors qu'il faut ces tempo pour gerer les feux .
J'ai compris que je dois enlever la condition si et les ponts de jonction et les remplacer par une boucle mais dans les propriétés de la boucle je mets tant que capteur = 0, la boucle continue à tourner, c'est à dire les feux tricolore et si le capteur passe à un ? que dois faire le programme ?
Je n'ai pas bien compris cubitus pourquoi il a supprimé la majorité du programme; pourtant il faut qu'à chaque phase du programme le port"A" présente certains port actifs.
Je n'ai pas trouvé plus simple que çà.