Tester la valeur d'un bit

Fab0888 Messages postés 1 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 29 janvier 2010 - 29 janv. 2010 à 10:21
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 - 31 janv. 2010 à 16:48
Bonjour à tous,

Voila mon pb est que je dois lire un bit dans un registre en utilisant les masques, mais le code que j'ai écrit me renvois tous le temps faux. J'ai un menu dans le main qui demande l'adresse du registre, ainsi que le numéro du bit dont on veut savoir la valeur. Est ce que qq1 pourrais m'aider?

Voila le code de ma fonction:

bool AcceReg::TestByte(int adrByte, int numByte)
{
     bool validByte = true;
     char masque;

     if ((numByte >= 0) && (numByte <= 7))
     {
        if (adrByte==0x600)
        {
masque = 1<<numByte;
valPortE0 = numByte & masque;
outportb(0x600,valPortE0);
        }
        else
{
if (adrByte==0x601)
{
masque = 1<<numByte;
valPortA0 = numByte & masque;
outportb(0x600,valPortA0);
}
else
validByte = false;
}
     	}
     	else
     	{
validByte = false;
     	}
     return validByte;
}


Merci

1 réponse

tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
31 janv. 2010 à 16:48
Bonjour,

Tu parles de lire mais tu écris !

tu trouve False ? alors numByte < 0 || numbyte>7 ou alors adrByte n'est ni 0x600 ni 0x601.
Il n'y a pas d'autre test ni de changement de valeurt de validByte


thip
0
Rejoignez-nous