When implementing a proprietary communication interface, the common method is Bit banging. This list provides a simple comparison of bit-banging versus hardware management. Some engineers love bit banging. It has been a working solution for many years because every bit of the action is in the users own control. However, the pitfalls are also well known. When looking at the downside, users have a limited maximum bit rate that can be generated and have to write lots of software loops which impact accuracy of timing control. Worst of all, the CPU is fully tied up and a timer channel is likely needed, and not available for other uses. With SGPIO, users gain more flexible frequency control and accurate timing without using much of the CPU’s processing power. All of these benefits come with only several register configurations. SGPIO is interrupt driven, allowing the CPU to be busy with other tasks while the proprietary interface is working. Only when new data is ready or needed, the CPU is interrupted.