My understanding is that serial communication is for direct CPU-to-CPU (or microcontroller-to-microcontroller) communication along a serial bus.
My understanding is that a device driver is for device-to-CPU or device-to-microcontroller communication; essentially it tells the CPU how to read/write data to certain pins for correctly communicating with the raw device.
Am I correct here, or way off base? If anything that I have said so for is not true or misunderstood, please clarify/correct me! I'm basically looking for a litmus to use to help me decide when I need to use, say, SPI or I2C or UART (serial comm) or just use a driver. Thanks in advance.