Reading ADS1232 with Arduino
I fished out some code I wrote a while back while evaluating the 1232.  SPI is a headache because of the need toggle the clock signal to prevent the last data bit from 'sticking', which will botch repeated reads when the last data bit is high.

If you are absolutely required to use SPI stop reading this answer.

Everything you need to know is on pages 18 and 19 of the ADS1232 datasheet.  Note this is strictly demo material, for example it doesn't take into account settle time when switching channels.  

int32_t read_adc(const uint16_t wait_millis) {    
   int32_t data = 0;     
   // reset ADC
   digitalWrite(ADS1232_PDWN, LOW);
   delayMicroseconds(10);
   digitalWrite(ADS1232_PDWN, HIGH);
   delayMicroseconds(10);

   for (; data &lt; wait_millis &amp;&amp; digitalRead(ADS1232_DRDY_DOUT) != LOW; 
        delay(1), 
        data++);

    if (data == wait_millis) {
        // timeout      
        return -1;
    }

   // read in 24 bits, see Page 19 of the datasheet

   data = 0;    
   for (uint8_t i = 0; i &lt; 24; i++) {
        digitalWrite(ADS1232_CLK, HIGH); // clock out next data bit
        data &lt;&lt;= 1;
        data |= digitalRead(ADS1232_DRDY_DOUT);
        digitalWrite(ADS1232_CLK, LOW);
    }
    // adjust for sign. See page 18 of datasheet
    if (data &amp; 0x00800000)
        data |= 0xFF000000;    
    // avoid having DRDY/DOUT remain in the state of the last bit
    // see page 19 of datasheet 
    digitalWrite(ADS1232_CLK, HIGH);
    delayMicroseconds(10);
    digitalWrite(ADS1232_CLK, LOW);

    return data;
}