I need a simple communication protocol between two devices (a PC and a microcontroller). The PC must send some commands and parameters to the micro. The micro must transmit an array of bytes (data from sensor).
The data must be noise protected (besides parity checking, I think I need some other data correction method).
Is there any standard solution to do this? (I need only an idea, not the complete solution).
P.S. Any advice is appreciated. P.P.S Sorry for any grammar mistakes, I hope you understand.
Edit 1. I have not decided whether it will be master/slave protocol or both sides can initiate communication. The PC must know when micro have done a job and can send data. It can continuously poll the micro if data is ready, or the micro can send data, when a job is done. I don't know which is better and simpler.
Edit 2. Hardware and physical layer protocol. Since RS-232C serial standard used in the PC, I will use asynchronous communication. I will use only RxD, TxD and GND signals. I can't use additional wires because the microcontroller AFAIK doesn't support them. BTW I'm using the AVR ATmega128 chip.
So I will use fixed baud rate, 8 bits of data, 2 stop bits without parity checking (or with?).
Data link protocol. That's what my question primarily concerned about. Thanks for suggesting HDLC, PPP and Modbus protocols. I will research on it.