Having issues using an Arduino to emulate a shift register. Details inside.

I thought about seeing if there's a sketch for Arduino to make it a logic analyzer, and maybe that'd help give me a little insight.

I believe there are such sketches, they won't be very fast I think but it would be worth having a look.

A logic analyser is the most useful tool you can have for embedded work, hands down. You can get a Saleae Logic 8 for $149 (less for the new 4-channel one) or a clone of it for about $20. I prefer to support the Saleae guys, but if you don't have the cash you can get the clone and still use the Saleae software.

directly manipulate the pins so I can pump the data out faster. I don't know if that'd solve the problem though. I've read there's some overhead with using digitalWrite as opposed to direct manipulation.

The code is already using direct manipulation, so in that respect there is nothing to be gained. Yes the code is simple but also quite inefficient I think. Interrupts are not the fastest way to do this and all those shift operations will be slow. There must be a better way but I haven't thought of it yet.


Rob