So I understand how to ships can communicate when one of the chips is wiggling a clock line, but what about rs-232, rs-485, DH+, Etc, when both chips must know what the baud rate is beforehand? I know I just answered the question: both chips must be pre-configured / programmed with an already agreed-upon baud rate. But what I'm really asking is a bit more subtle.
Even though the baud rate is known beforehand, there is still no known starting point to start the clock. Or is there?
As an example / metaphor, if you and I wanted to talk to each other verbally and we agreed to talk at one word per second, how do we know when second zero is. It seems without that additional piece of information I could be listening to you trying to talk between second 0.5 and 1.5 and 2.5 and 3.5, etc, and I'd only catch the end of a word and the start of the next word.
Is Fair an initial handshake during serial communication so that second zero is agreed upon? Or does this method inherently have a natural speed limitation? For example in my talking metaphor above, it would be no problem if the agreed-upon time frame was 2 seconds or longer but we still said the word within one second, Nyquist theorem and all. But even still that's non-deterministic so it would seem no matter how slow you went you would still screw up one out of every thousand or ten thousand words or so. Which of course will be fine for humans as we can get things from contacts but not for computers