Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilDernières imagesRechercherS'enregistrerConnexion
-20%
Le deal à ne pas rater :
Drone Dji DJI Mini 4K (EU)
239 € 299 €
Voir le deal

 

 Petit renseignement ?!

Aller en bas 
3 participants
AuteurMessage
NazOok

NazOok


Messages : 27
Date d'inscription : 06/12/2010
Age : 35
Localisation : Caen & CherwOod

Petit renseignement ?! Empty
MessageSujet: Petit renseignement ?!   Petit renseignement ?! Icon_minitimeMer 15 Déc - 19:18

Hey les cOupaiins Smile

Je suis en ce moment , en plein travail scratch , je fais le TP4 sur VxWorks.. (ps : celui qu'il fallait rendre vendredi dernier oui pale ) Et je me posais quelques petites questions sur le code du fichier mutex.c :
  • Que veut dire le code : " same=(v1==v2);"
  • Et le code : "if(!same)"


Question Question Question Question Question Question

Merkiriis Smile
Revenir en haut Aller en bas
Chamo

Chamo


Messages : 34
Date d'inscription : 02/12/2010

Petit renseignement ?! Empty
MessageSujet: Re: Petit renseignement ?!   Petit renseignement ?! Icon_minitimeMer 15 Déc - 19:36

same=(v1==v2);

=> La variable same prend la valeur de retour du test v1==v2, c'est à dire 0 ou 1 ( faux ou vrai )

if(!same)

=> Si same est faux (!same <=> non same) alors ...

afro
Revenir en haut Aller en bas
NazOok

NazOok


Messages : 27
Date d'inscription : 06/12/2010
Age : 35
Localisation : Caen & CherwOod

Petit renseignement ?! Empty
MessageSujet: Re: Petit renseignement ?!   Petit renseignement ?! Icon_minitimeMer 15 Déc - 23:03

D'accord, en gros on pourrait remplacer
Citation :
same=(v1==v2);
par :

Citation :
if(v1==v2)
same=True;
else
same=False;

C'est bien sa ?

et
Citation :
if(!same)
par :

Citation :
if(same==false)

Je ne me trompe pas ?

Mercii bcp rabbit

Peace Laughing
Revenir en haut Aller en bas
Chamo

Chamo


Messages : 34
Date d'inscription : 02/12/2010

Petit renseignement ?! Empty
MessageSujet: Re: Petit renseignement ?!   Petit renseignement ?! Icon_minitimeMer 15 Déc - 23:26

Ouais c'est ça mec'
cheers
Revenir en haut Aller en bas
NazOok

NazOok


Messages : 27
Date d'inscription : 06/12/2010
Age : 35
Localisation : Caen & CherwOod

Petit renseignement ?! Empty
MessageSujet: Re: Petit renseignement ?!   Petit renseignement ?! Icon_minitimeMer 15 Déc - 23:32

Et tu te rappel etre rentré dans cette fonction??

parceque moi enfaite mes variables v1 et v2 quand je les appelles elles ne sont jms égales... :/
Revenir en haut Aller en bas
Chamo

Chamo


Messages : 34
Date d'inscription : 02/12/2010

Petit renseignement ?! Empty
MessageSujet: Re: Petit renseignement ?!   Petit renseignement ?! Icon_minitimeJeu 16 Déc - 0:18

Ah oui mais c'est le gros dawa ça !!!

Je peux pas trop t'expliquer j'avais compris qu'à moitié ce truc
Revenir en haut Aller en bas
Tagada
Admin
Tagada


Messages : 31
Date d'inscription : 01/12/2010
Age : 34

Petit renseignement ?! Empty
MessageSujet: Re: Petit renseignement ?!   Petit renseignement ?! Icon_minitimeJeu 16 Déc - 1:13

normalement elles sont pas égales au début?
scratch
franchement je me tâte là
Revenir en haut Aller en bas
https://vache-quiris.forumsactifs.net
NazOok

NazOok


Messages : 27
Date d'inscription : 06/12/2010
Age : 35
Localisation : Caen & CherwOod

Petit renseignement ?! Empty
MessageSujet: Re: Petit renseignement ?!   Petit renseignement ?! Icon_minitimeJeu 16 Déc - 14:52

Bien quand je fais mes printf dans mon Shell sur mes variables elles sont jms égales..
Donc du coup je n'ai jamais l'affichage du code du fichier mutex.c ...

Et puis j'ai vérifié si la fonction "mutex2" s'executé bien avec des printf, et j'ai remarqué que non.. elle s'execute que quand
je tue la tache "tid1" (celle qui execute "mutex1")

Je vous rappels le code de mutex.c si vous voulez :

Citation :
#include "vxWorks.h"
#include "semLib.h"
#include "stdio.h"
#include "taskLib.h"

int v1, v2, count;


void mutex1(void)
{
FOREVER
{
v1=count;
v2=count;
count++;
}
}


void mutex2(void)
{
int same;
printf("Bien rentre dans la fonction mutex2.1\n");
FOREVER
{
same=(v1==v2);
printf("Bien rentre dans la fonction mutex2.2\n");
if(!same)
printf("v1 = %d, v2 = %d\n", v1, v2);
taskDelay(60);
}
}

Les deux printf ("printf("Bien rentre dans la fonction mutex2.1\n");") sont ceux que j'utilise juste pour voir si la fonction s'execute.. Et enfaite non Sad
Revenir en haut Aller en bas
Chamo

Chamo


Messages : 34
Date d'inscription : 02/12/2010

Petit renseignement ?! Empty
MessageSujet: Re: Petit renseignement ?!   Petit renseignement ?! Icon_minitimeJeu 16 Déc - 20:52

Comme je te l'avais prommis, voilà mon mutex Very Happy

int v1;
int v2;
int count=0;
STATUS test;

void mutex (semId)
{
FOREVER
{
test=semTake(semId,WAIT_FOREVER);

v1 = count;

v2 = count;

test=semGive(semId);

count++;
}
}

void mutex2 (semId)
{
int same;
FOREVER
{
test=semTake(semId,WAIT_FOREVER);

same = (v1 == v2);

test=semGive(semId);

if (!same)
printf("v1 = %d, v2 = %d\n", v1, v2);
taskDelay (1);

}
}
Revenir en haut Aller en bas
Contenu sponsorisé





Petit renseignement ?! Empty
MessageSujet: Re: Petit renseignement ?!   Petit renseignement ?! Icon_minitime

Revenir en haut Aller en bas
 
Petit renseignement ?!
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
 :: Programmation :: C-
Sauter vers: