Cours:TpiiChenillardDouble : Différence entre versions
Ligne 52 : | Ligne 52 : | ||
for (i=1;i>0;i*=2) | for (i=1;i>0;i*=2) | ||
{ | { | ||
− | //ecrireParPort(device, | + | //ecrireParPort(device,i|j); |
printbits(i|j);printf("\n"); | printbits(i|j);printf("\n"); | ||
//usleep(100000); | //usleep(100000); | ||
Ligne 61 : | Ligne 61 : | ||
} | } | ||
+ | ==décalage de n bits== | ||
+ | |||
+ | #include "commcarte.h" | ||
+ | void printbits(unsigned char n) | ||
+ | { | ||
+ | int i; | ||
+ | for (i=7;i>=0;i--) printf("%d", (n >> i ) & 1); | ||
+ | }<br> | ||
+ | int main() | ||
+ | { | ||
+ | int device; | ||
+ | //device=openParPort("/dev/parport0"); | ||
+ | unsigned char i,j,cpt; | ||
+ | for (cpt=0;cpt<3;cpt++) | ||
+ | { | ||
+ | j=7; | ||
+ | for (i=0;i<8;i++) | ||
+ | { | ||
+ | //ecrireParPort(device,1<<i|1<<j); | ||
+ | printbits(1<<i|1<<j);printf("\n"); | ||
+ | //usleep(100000); | ||
+ | j--; | ||
+ | } | ||
+ | } | ||
+ | //closeParPort(device); | ||
+ | } | ||
{{RetourVers/TpII}} | {{RetourVers/TpII}} |
Version du 12 décembre 2012 à 21:58
retour vers la page des Tps II
Sommaire
Solution avec une boucle while
#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 val,val2,cpt=0; while (cpt<3) { cpt++; val=0x01; // 0000 0001 val2=0x80; // 1000 0000 while (val) { //ecrireParPort(device,val|val2); printbits(val|val2);printf("\n"); val=val<<1; val2=val2>>1; //usleep(100000); } } //closeParPort(device); }
Solution avec boucle for
multiplication/division par 2
#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++) { j=0x80; // 1000 0000 for (i=1;i>0;i*=2) { //ecrireParPort(device,i|j); printbits(i|j);printf("\n"); //usleep(100000); j=j/2; } } //closeParPort(device); }
décalage de n bits
#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++) { j=7; for (i=0;i<8;i++) { //ecrireParPort(device,1<<i|1<<j); printbits(1<<i|1<<j);printf("\n"); //usleep(100000); j--; } } //closeParPort(device); }