Cours:TpiiChenillardSimple

De troyesGEII
Aller à : navigation, rechercher

retour vers la page des Tps II

Remarques

Si vous copiez les solutions telles quelles

  • l'affichage se fait par défaut sur votre PC avec des printf
  • ne modifiez pas la fonction printbits, elle sert uniquement à faire un affichage binaire
  • il suffit de décommenter les lignes utiles pour faire l'affichage sur les leds de la carte

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); 
}

retour vers la page des Tps II