Cours:TpiiChenillardSimple : Différence entre versions
Ligne 3 : | Ligne 3 : | ||
=Solution avec une boucle while= | =Solution avec une boucle while= | ||
− | + | <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 val,cpt=0; | |
− | + | while (cpt<3) | |
− | + | { | |
− | + | cpt++; | |
− | + | val=0x01; | |
− | + | while (val) | |
− | + | { | |
− | + | //ecrireParPort(device,val); | |
− | + | printbits(val);printf("\n"); | |
− | + | val=val<<1 ; | |
− | + | //usleep(100000); | |
− | + | } | |
− | + | } | |
+ | //closeParPort(device); | ||
+ | } | ||
+ | </source> | ||
=Solution avec boucle for= | =Solution avec boucle for= | ||
==multiplication par 2== | ==multiplication par 2== | ||
− | + | <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,cpt; | |
− | + | for (cpt=0;cpt<3;cpt++) | |
− | + | { | |
− | + | for (i=1;i>0;i*=2) | |
− | + | { | |
− | + | //ecrireParPort(device,i); | |
− | + | printbits(i);printf("\n"); | |
− | + | //usleep(100000); | |
− | + | } | |
− | + | } | |
+ | //closeParPort(device); | ||
+ | } | ||
+ | </source> | ||
==décalage de n bits== | ==décalage de n bits== | ||
− | + | <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,cpt; | |
− | + | for (cpt=0;cpt<3;cpt++) | |
− | + | { | |
− | + | for (i=0;i<8;i++) | |
− | + | { | |
− | + | //ecrireParPort(device,1<<i); | |
− | + | printbits(1<<i);printf("\n"); | |
− | + | //usleep(100000); | |
− | + | } | |
− | + | } | |
+ | //closeParPort(device); | ||
+ | } | ||
+ | </source> | ||
{{RetourVers/TpII}} | {{RetourVers/TpII}} |
Version du 15 décembre 2012 à 21:54
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,cpt=0;
while (cpt<3)
{
cpt++;
val=0x01;
while (val)
{
//ecrireParPort(device,val);
printbits(val);printf("\n");
val=val<<1 ;
//usleep(100000);
}
}
//closeParPort(device);
}
Solution avec boucle for
multiplication 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,cpt;
for (cpt=0;cpt<3;cpt++)
{
for (i=1;i>0;i*=2)
{
//ecrireParPort(device,i);
printbits(i);printf("\n");
//usleep(100000);
}
}
//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,cpt;
for (cpt=0;cpt<3;cpt++)
{
for (i=0;i<8;i++)
{
//ecrireParPort(device,1<<i);
printbits(1<<i);printf("\n");
//usleep(100000);
}
}
//closeParPort(device);
}