Are streams of binary data considered a form of bit banging? Does this definition change if the array is buffered? I am referring software which handles binary data on a general purpose CPU; for example, Java's Input/OutputStream, C++'s istream/ostream, and C's character arrays.
I'm aware of that working on individual bytes rather than a buffered is slower due to efficiency lost at the I/O barrier.
In contrast to bit banging, dedicated hardware (e.g., UART, SPI interface) satisfies these requirements and, if necessary, provides a data buffer to relax software timing requirements.
How is timing related?
This question is in reference to this Wikipedia entry: