Probléme de transmission de données

Bonjour à tous,
J’ai écrit un petit code pour faire fonctionner ma PLL ADF4153A.
Petit probléme, en voulant lire les valeurs que la la carte arduino sort sur l’oscilloscope, je me suis rendu compte que la carte ne sort pas du tout les valeurs demandé.
Voici mon code :

#include <SPI.h>

const char RegC1 = 0b000000000001001111000110; 
const char RegC2 = 0b000000000001001111000010; 
const char RegNoise1 = 0b000000000000000000000011; 
const char RegNoise2 = 0b000000000000001111000111; 
const char RegN = 0b010010110000000000000000;
const char RegR = 0b000100100000000001100101; 

int le = 10;
int clk = 13;
int data = 11;

/*  sendReg
  Emission de la configuration d'un registre
  valeur : contient la valeur à placer dans le registre
  nb     : contient le nombre d'octets à envoyer
*/

void sendReg(unsigned long valeur, unsigned char nb){
  unsigned char tampon;
  unsigned char i=nb;

        digitalWrite(le, LOW);
  do{
    tampon = (unsigned char)(valeur >> ((i-1)*8));
    shiftOut(data, clk, MSBFIRST, tampon);
    i--;
  }while(i>0);
        digitalWrite(le, HIGH);
}

void setup() {
Serial.begin(9600);
 pinMode(le,OUTPUT);
 pinMode(clk, OUTPUT);
 pinMode(data,OUTPUT);
 
}

void loop() {
 delay(1);
 sendReg(RegNoise1,3);
 sendReg(RegNoise2,3);
 sendReg(RegC1,3);
 sendReg(RegR,3);
 sendReg(RegN,3);
 sendReg(RegC2,3);


}

Est-ce que quelqu’un sait pourquoi les données RegC1, RegC2,etc… ne sortent pas de la carte ?
Merci de votre aide et bonne journée

Si ça peut aider, j’ai remarquer que la carte ne sortait que les 8 derniers bits correctement.
Le reste c’est n’importe quoi.