instruction ROTATE et variable L0

Questions de programmation / Offset FSUIPC et IOCP

instruction ROTATE et variable L0

Messagede Michael Blackbird » Sam 28 Jan 2012 19:58

Salut

Dans ce code que j'ai trouvé sur ce forum :

Code: Tout sélectionner
Var 0002, name E_SQW_Rot1, static, Link IOCARD_ENCODER, Input 286, Aceleration 2, Type 2     // Encodeur pour frequence
{
  L0 = &E_SQW_Rot1         // * -1 turning clockwise should be plus
  &P_SQW_100 = ROTATE 0 ,77 ,L0
}

Var 0003, name P_SQW_100


Pourquoi spécifier l'utilisation de la variable L0 ? Ne peut-on pas écrire directement :

Code: Tout sélectionner
Var 0002, name E_SQW_Rot1, static, Link IOCARD_ENCODER, Input 286, Aceleration 2, Type 2     // Encodeur pour frequence
{
   &P_SQW_100 = ROTATE 0 ,77 ,&E_SQW_Rot1         // * -1 turning clockwise should be plus
}

Var 0003, name P_SQW_100


C'est pour aider le compilo ?

Je n'ai pas trouvé d'explication dans le manuel de référence...
Dernière édition par Michael Blackbird le Sam 28 Jan 2012 23:04, édité 1 fois.
Michel
________________________________________________
http://themagicofflight.over-blog.com/
http://www.airsimulation.fr/
Avatar de l’utilisateur
Michael Blackbird
 
Messages: 129
Inscription: 8/08/11
Localisation: Pertuis (84)

Re: instruction ROTATE et variable L0

Messagede stevelep » Sam 28 Jan 2012 21:37

Salut,

Tu as raison on peux très bien remplacer L0 par la variable directement dans la commande ROTATE.
Mais si l'auteur a quand même utilisé un L0= c'est pas pour aider le compilateur mais pour
le sens de rotation de l'encodeur.

En effet suivant le câblage de ton encodeur, tu as une chance sur deux qu'il tourne à l'envers.
Donc pour corriger cela tu doit multiplier la variable encodeur par -1 et pour le faire
tu doit inserer un L0 avant le ROTATE chouettedoights

L0 = &E_SQW_Rot1 * -1
&P_SQW_100 = ROTATE 0 ,77 ,L0

Voila donc c'est plutôt bien pensé

BOB
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: instruction ROTATE et variable L0

Messagede Michael Blackbird » Sam 28 Jan 2012 23:03

D'accord. C'est une très bonne idée effectivement pour inverser le sens en cas de besoin.
Merci pour l'info !!! merci affiche
Michel
________________________________________________
http://themagicofflight.over-blog.com/
http://www.airsimulation.fr/
Avatar de l’utilisateur
Michael Blackbird
 
Messages: 129
Inscription: 8/08/11
Localisation: Pertuis (84)


Retourner vers Programmation Sioc





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 27 invités