I want to have my Arduino control several SPI slave devices, among them a 74HC595 shift register. I've having some trouble understanding how to properly handle communication - I get that the Slave Select (SS) should be tied to the Register Clock in so that it is enabled when low, but wouldn't the parallel output keep changing when sending serial data to other SPI slaves (having SS high)?


1 Answer 1


No, the outputs won't change, even though the contents of the internal shift register will be changing. You just need to make sure that you shift in the correct data before the next time you strobe the output latches.

  • \$\begingroup\$ So the register latches update on the low-high transition instead of the high state? \$\endgroup\$
    – joaocandre
    May 7, 2014 at 12:55
  • \$\begingroup\$ The output register (it is a register, not a latch) copies the shift register contents on the positive flank of the storage clock. \$\endgroup\$ May 7, 2014 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.