How to read adc port in code?

The topic mentioned by @TomGeorge in reply #9 strongly implies that hardware SPI should work. Faced with "I can't get it to read at all", I'd put more effort in that direction. Did you do the (possibly unusual) SPI initialization?

  SPI.begin();
  SPI.setDataMode(SPI_MODE3);
  SPI.setBitOrder(MSBFIRST); 
  SPI.setClockDivider(SPI_CLOCK_DIV16);