Using Microcontroller Hardware Peripherals

Hi. I'm a relative Arduino novice researching ways to have an Arduino read data from a rotary encoder via SSI. Via Google I've found a few recommendations which use well-designed bit-banger code (e.g. setting a bit, waiting a microsecond, resetting the bit, and waiting another microsecond to generate a data clock... or to shift bits in a variable instead of in a hardware shift register) to improvise an SSI interface.

Perhaps I've an uninformed perception that there isn't a lot of guidance out there toward leveraging the Arduino's (I'll be using a DUE) built-in hardware peripherals (e.g. SPI)... which I would think could really speed things up while unburdening the program. Happy if I'm wrong about this. I'd appreciate some suggestions.

Thanks!

That's generally true. The Arduino core generally supports an abstraction of features that are common to ALL microcontrollers (GPIO, UART, SPI, I2C), and less common features that might be supported by particular microcontrollers are neglected.

I had to look up "SSI" (it's a synchronous serial protocol apparently commonly used with high-end rotary encoders.) It seems likely that many microcontrollers have enough flexibility in their SPI peripherals (or in the case of the Due, the "SSC" peripheral) to implement most of SSI in hardware, but ... I haven't seen it done. (Hmm. Seems like a standard SPI with the microcontroller output going nowhere is awfully close. Could be trivial if you can sacrifice the MOSI pin. But ... data might not be a multiple of 8bits?)
May also require rs422 driver/receiver.