Cours:TpiiChenillardEntassement : Différence entre versions
m |
m |
||
(Une révision intermédiaire par le même utilisateur non affichée) | |||
Ligne 3 : | Ligne 3 : | ||
{{rouge|D'autres solutions à venir !!}} | {{rouge|D'autres solutions à venir !!}} | ||
− | =boucle while= | + | ={{bleu|boucle for}}= |
+ | |||
+ | <source lang=c> | ||
+ | #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); | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | ={{bleu|boucle while}}= | ||
Une solution un peu complexe mais générant un code assez optimisé : | Une solution un peu complexe mais générant un code assez optimisé : | ||
<source lang=c> | <source lang=c> | ||
− | #include | + | #include "commcarte.h" |
− | |||
− | |||
− | |||
void printbits(unsigned char n) | void printbits(unsigned char n) | ||
Ligne 45 : | 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);
}