Page 2 sur 2

Re: USB LCD

MessagePosté: Ven 27 Juil 2012 13:24
de mammouth
heu...

comprend pas yeuxhaut

tu n'aurai pas un exemple de code ?
exemple : code ou sur appuis bouton il passe de l'écran virtuel 0 à 1

Re: USB LCD

MessagePosté: Ven 27 Juil 2012 16:03
de FiX
Code: Tout sélectionner
Var 0001, name lcd_1     // écran n°1
{
  IF &DME_lcd_sw = 1     // switch
  {
    &lcd_1 = 1         // ecran virtuel n°1
  }
  ELSE
  {
    &lcd_1 = 0         // ecran virtuel n°2
  }
}

Re: USB LCD

MessagePosté: Ven 27 Juil 2012 16:13
de mammouth
ok compris reste plus qu'a tester lol

Maintenant une autre question (j'en ai plein) j'éssaie de faire une boucle avec sioc et j'y arrive pas je m'explique :

pour incrémenter de 1 mon hdg j'appuie une fois sur mon bouton la sa marche au poil mais j'aimerai que tant que je ne relache pas le bouton il incremente

donc il faudrai que sioc apres avoir incrementé de 1 verifie de nouveau l'etat du bouton et si il est toujours a 1 de nouveau incrementer jusqu'au moment ou l'état du bouton passe a zero

j'ai essayé pas mal de chose mais en vainc (enfin si j'arrive a planter sioc comme un chef)

Re: USB LCD

MessagePosté: Ven 27 Juil 2012 16:53
de tabar57
Bonjour,

Une idée à creuser c'est d'utiliser une variable qui change en permanence, un compteur, par exemple celui des secondes de FS et chaque que cette variable change, lui même un test sur le bouton du Hdg et s'il est on incrémenter ce Hdg de 1 .
Partant de là tu peux après créer un compteur qui change à la demi seconde pour une incrémentation plus rapide.

Cordialement

Bernard

Re: USB LCD

MessagePosté: Ven 27 Juil 2012 17:53
de mammouth
J'avais moi penser a creer ma variable qui quand le bouton passe au 1 il appel une routine
la routine incremente de 1 le hdg puis appel une autre routine
la 2eme routine verifie si le bouton est à 1 si oui elle appel la 1er routine sinon stop et ainsi de suite

mais sioc n'a pas l'air d'apprécier mon systeme yeuxhaut
Et avec la fonction testbit ?? s'est possible ?


ps : j'ai oublié de te remercier FIX j'ai testé et sa marche nikel (s'est telement logique que je suis completement passe a cote)

Re: USB LCD

MessagePosté: Ven 27 Juil 2012 19:06
de stevelep
En fait, il faut utiliser la fonction TIMER, exactement comme pour faire clignoter une LED sauf qu'a chaque clignotement tu incrémentes la variable. Quand tu relâche le bouton il faut stopper le TIMER.

BOB

Re: USB LCD

MessagePosté: Ven 27 Juil 2012 21:37
de mammouth
ok je vais essayer car j'ai jamais utilisé cette fontion.

par contre pourquoi mon principe d'appel routine ne fontionne pas ? sioc a des comportements differents d'autre soft et j'avoue que sa me perturbe

Re: USB LCD

MessagePosté: Ven 27 Juil 2012 22:04
de stevelep
SIOC est orienté événement, on ne peux pas créer de boucles sans événements d'où l'utilité du TIMER

Va voir le site de Niko Kaan

http://www.lekseecon.nl/howto.html

Rebrique "add auto repeat to a switch"

Et aussi "make à Led blink" et les 3 suivants

Tu devrais y trouver ton bonheur

BOB

PS c'est un bon site pour le SIOC ...

Re: USB LCD

MessagePosté: Sam 28 Juil 2012 22:28
de tabar57
Bonsoir,

Désolé de contrarier le maître Steve mais on est pas obligé de stopper le timer , il vaut mieux pas d'ailleurs, chaque fois que la variable du timer change, elle appelle un bout de programme qui teste si l'inter Hdg ou autre et ON et si elle est ON, elle incrémente sinon elle continue à tourner et passe au test suivant, c'est aussi simple que çà.
Par contre j'ai parlé d'un compteur basé sur les secondes de FS car celui ci ne plante pas, au contraire de celui de Nico qui pour des raisons inexpliquées plante dans un délai aléatoire chez moi ...j'ai cherché et rien trouvé, débordement de compteur ou de variable ???

Cordialement

Bernard

Re: USB LCD

MessagePosté: Dim 29 Juil 2012 10:36
de mammouth
Je vais essayer tout sa Merci à vous.

Par contre sa ressemble à un débat ! le sujet n'a pas encore été traité enfin je veux dire personne n'utilise ce principe de répétition ? (mis à part pour les led)

Je vais essayer de partir du principe des led (car je crois mieux comprendre) ensuite je testerai avec le time fs

A suivre