I have a current project that uses 15 shift registers ( TPIC6B565 ) to light 7seg LED displays.
I am using Shiftout, which I have had good results from on many previous projects.
This particular project ( the project from hell ) has 3 banks of 5 displays ( 5 shiftregisters per bank ) with ribbon cable disychaining the 3 panels together.
There is 2.5 m of ribbon cable all told for the 3 banks, and it looks like the capacitance of the ribbon cable is causing erratic displays when everything is connected.
Most of the 6 units ( 36 banks in all ) are fine, so I am obviously working on the edge of reliable communication here .
I scoped the data and clock lines at the far end of the daisy chain, and they are a bit rounded.
I can simulate the same type of errors by using my test unit that has resistors in each data line ( to save micros when testing the freshly soldered pcbs with occaisional shorts )
I could probably solve it by taking the last displays "out" data connection back to the receiver/decoder module, but this would need a new cable, doubled over at the receiver end. Luckily I made the serial data pins the end ones of the ribbon cable, so I could snip that on the return side.
The problems of "them" plugging it in the wrong way round, plus the expense and time for making 12 new cables, lets me think it would be easier to just slow down the shiftout pulses.
I found an answer on http://arduino.cc/forum/index.php/topic,39341.0.html where BenF solved a members similar problem by recommending changing the Shiftout function.
It looks easy , but where do I find it ? its all in the main part now, not a library.
Or is there an easier way nowadays ?