SPI pressure sensor keeps returning command code


I wrote a sketch for a pressure sensor using SPI protocol, and I want to read the pressure from it. However it keeps sending me back the command code(e.g. 10000011). I have no clue what’s wrong with my code. Does some one know whats going on? Thanks.

The datasheet is here

#include <SPI.h> // include the SPI library
const int cs = 10;
const byte sample = 0b10000011;
const byte resend = 0b01010000;

void setup(){
  Serial.begin(9600);//initialize the serial monitor 
  Serial.println("Initializing the force monitor");
  delay(50);//give the numatac some time to setup
  SPI.begin();//begin SPI trasaction

void loop(){
  //Set up SPI bus
  //set the clock speed to be 5 Mhz, most significant byte first, and data trasfer mode 0
    uint8_t MSBbyte, LSBbyte;
    MSBbyte = SPI.transfer(resend);
    LSBbyte = SPI.transfer(resend);

    MSBbyte = MSBbyte>> 1;
    LSBbyte = LSBbyte & 0xF8; // mask off 3 lower bits
    word rawdata = word(MSBbyte,LSBbyte); // use type cast to build word from two bytes
    unsigned int pressure =(rawdata) >> 3;
    Serial.println("    "); 

I haven't studied the datasheet in detail, so forgive me if I've not understood everything. I see the sequence as being something like this (using 16-bit transfers):

  uint16_t NumaTacData;

  digitalWrite(cs,LOW);      // select chip

  SPI.transfer16(0x8300);    // binary 1000011 00000000 = command

  digitalWrite(cs,HIGH);     // de-select

  delayMicroseconds(50);     // wait

  digitalWrite(cs,LOW);      // Select

  NumaTacData = SPI.transfer16(0x0001);   // send 0x0001 on transfer

  digitalWrite(cs,HIGH);     // de-select

  // process result, use re-send on parity error

The re-send command should only be used when you get a parity error in the result of the initial read.