bit-banging

The process of sending data to or reading data from a serial
device by raising and lowering a data line in the proper sequence
(writing), or polling a data line and determining the bit sequence
represented by the detected transitions and their timing. It is
equivalent to emulating a UART in software.