aide en programmation testeur de court-circuit et pinnage

Bnjour , barbudor

quand, je compile le programme que voici il me met certaines érreurs
j'aimerai savoir pourquoi? svp!

#include <Wire.h>

// enlever le commentaire pour un PCF 16 bit
//#define PCF8575       1

#ifdef PCF8575
#define BITS_PER_CHIP 16
#else
#define BITS_PER_CHIP 8
#endif

#define NBCHIP_OUT    1
#define NBCHIP_IN     1

uint8_t AdrChipOut[NBCHIP_OUT] = { 0x20 };
uint8_t AdrChipIn[NBCHIP_IN]   = { 0x24 };

uint16_t MemChipOut[NBCHIP_OUT];
uint16_t ResChipIn[NBCHIP_IN];

void pcfWriteOutWord( uint8_t idOut, uint16_t val )
{
  MemChipOut[idOut] = val;
  Wire.beginTransmission(AdrChipOut[idOut]);
  Wire.write(val);
#ifdef PCF8575  
  Wire.write(val >> ;    
#endif
  Wire.endTransmission();  
}

void pcfWriteInWord( uint8_t idIn, uint16_t val )
{
  Wire.beginTransmission(AdrChipIn[idIn]);
  Wire.write(val);
#ifdef PCF8575  
  Wire.write(val >> ;    
#endif
  Wire.endTransmission();  
}

uint16_t pcfReadInWord( uint8_t idIn )
{
  uint16_t val;
  Wire.requestFrom( AdrChipIn[idIn], (uint8_t)(BITS_PER_CHIP/8) );
  val = Wire.read();
#ifdef PCF8575  
  val = (val <<  | Wire.read();
#endif
  return val;
}

void pcfWriteOutBit( uint8_t bit, uint8_t val )
{
  uint8_t idOut = bit / BITS_PER_CHIP;
  bit = bit & (BITS_PER_CHIP-1);

  if ( val )
    MemChipOut[idOut] |= _BV(bit);
   else
    MemChipOut[idOut] &= ~_BV(bit);
  
  Wire.beginTransmission(AdrChipOut[idOut]);
  Wire.write(MemChipOut[idOut]);
#ifdef PCF8575  
  Wire.write(MemChipOut[idOut] >> ;    
#endif
  Wire.endTransmission();  
}



void setup()
{
  Serial.begin( 9600 );
  Wire.begin();
  
  // initialiser les Out à 1 :
  int id;
  for ( id = 0 ; id < NBCHIP_OUT ; ++id )
    pcfWriteOutWord( id, 0xFFFF );
  // initialiser les in à 1 (mode entrée)
  for ( id = 0 ; id < NBCHIP_OUT ; ++id )
    pcfWriteInWord( id, 0XFFFF );
}

void loop()
{
  int bit;
  int in;
  Serial.println( "--- Debut de test ------------------" );
  
  // On va tester en allumant tous les bits de sortie 1 par 1
  for ( bit = 0 ; bit < (NBCHIP_OUT * BITS_PER_CHIP) ; ++bit )
  {
    // Mettre le bit a 0
    pcfWriteOutBit( bit, 0 );
    // lisons les entrées
    for ( in = 0 ; in < NBCHIP_IN ; ++in )
      ResChipIn[in] = pcfReadInWord( in );
    // Mettre le bit a 1
    pcfWriteOutBit( bit, 1 );
      
    // Afficher le résultat
    Serial.print( "Bit#" );
    Serial.print( bit );
    Serial.print( " :" );
    for ( in = 0 ; in < NBCHIP_IN ; ++in )
    {
      Serial.print( " " );
      Serial.print( ResChipIn[in], BIN );
    }
    Serial.println();
  }
  
  delay( 5000 );
}