CrossRoads:
Why use software when you have fast onboard hardware - the SPI port?#include <SPI.h>
digitalWrite(RCKpin, LOW);
SPI.transfer(your_data_byte);
digitalWrite(SRCKpin, HIGH);
SCK, goes to SRCK (shift register) MOSI goes to serial data in MISO not used SS got to RCK (output register) OE/ to GND if not using for PWM MCLR to +5 if not being used
It is good point but my application has some requirements that makes me to writing software shifter.
I should drive few registers (not in serial mode) , also I'm going to use only 2 wires to drive register, how? I'll explain later.
And another point is that due to long distance between amtega and register I should use low frequency clock, but I can't serve only one register long time, therefore I'm going to drive registers via loop and timed clocking.