Cours:TpiiChenillardEntassement : Différence entre versions
m |
|||
Ligne 6 : | Ligne 6 : | ||
<source lang=c> | <source lang=c> | ||
− | #include | + | #include "commcarte.h" |
− | |||
− | |||
− | |||
void printbits(unsigned char n) | void printbits(unsigned char n) | ||
Ligne 40 : | Ligne 37 : | ||
<source lang=c> | <source lang=c> | ||
− | #include | + | #include "commcarte.h" |
− | |||
− | |||
− | |||
void printbits(unsigned char n) | void printbits(unsigned char n) | ||
Ligne 77 : | Ligne 71 : | ||
//closeParPort(device); | //closeParPort(device); | ||
} | } | ||
− | |||
</source> | </source> | ||
{{RetourVers/TpII}} | {{RetourVers/TpII}} |
Version actuelle datée du 20 décembre 2012 à 22:02
retour vers la page des Tps II
D'autres solutions à venir !!
boucle for
#include "commcarte.h"
void printbits(unsigned char n)
{
int i;
for (i=7;i>=0;i--) printf("%d", (n >> i ) & 1);
}
int main()
{
int device;
//device=openParPort("/dev/parport0");
unsigned char i,j,cpt;
for (cpt=0;cpt<3;cpt++)
for (i=8;i>0;i--)
for (j=0;j<i;j++)
{
//ecrireParPort(device,1<<j|(0xFF<<i);
printbits(1<<j|(0xFF<<i)); printf("\n");
//usleep(100000);
}
//closeParPort(device);
}
boucle while
Une solution un peu complexe mais générant un code assez optimisé :
#include "commcarte.h"
void printbits(unsigned char n)
{
int i;
for (i=7;i>=0;i--) printf("%d", (n >> i ) & 1);
}
int main()
{
int device;
//device=openParPort("/dev/parport0");
unsigned char i,a,cpt=0;
do
{
cpt++;
a=0xFF;
do
{
i=1;
do
{
//ecrireParPort(device,i|~a);
printbits(i|~a);
printf("\n");
i=i<<1;
//usleep(100000);
}while((i&a));
a=a>>1;
}while (a);
}while (cpt<3);
//closeParPort(device);
}