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)?


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 '14 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 '14 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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