Hey folks,
I've tried teaching myself about RS232 and serial communications recently, but there's just one last thing I can't understand. I was hoping you guys could help me.
With reference to the above image, I think I understand the role of:
> Idle time
> Start bit
> Stop bit(s)
> and the parity bit(s) (which don't seem to be in that image).
If the receiver starts listening during the "idle time" at the very beginning of the above message, then the data it receives from that frame will be 0b10101010 which is decimal 170.
I guess that's all well and good, but what if the receiver starts (accidentally) listening at the LSB instead of during idle time, and then believes that the second bit of data is the LSB, and so forth.. Then it will think that the stop bit is actually "MSB" and the data packet will be interpreted as 0b10101011 which is decimal 171.
And then after that, every single frame will be misinterpreted and the whole transmission confuzzled. Am I right or wrong?
I've tinkered with some serial devices before, connected to Arduino boards, and I know that they do not need to be connected before the first frame is transmitted. In my experience they can be plugged in whenever you feel like it, and they will work.
Thanks for your help explaining this. I am really confused!
I've tried teaching myself about RS232 and serial communications recently, but there's just one last thing I can't understand. I was hoping you guys could help me.
With reference to the above image, I think I understand the role of:
> Idle time
> Start bit
> Stop bit(s)
> and the parity bit(s) (which don't seem to be in that image).
If the receiver starts listening during the "idle time" at the very beginning of the above message, then the data it receives from that frame will be 0b10101010 which is decimal 170.
I guess that's all well and good, but what if the receiver starts (accidentally) listening at the LSB instead of during idle time, and then believes that the second bit of data is the LSB, and so forth.. Then it will think that the stop bit is actually "MSB" and the data packet will be interpreted as 0b10101011 which is decimal 171.
And then after that, every single frame will be misinterpreted and the whole transmission confuzzled. Am I right or wrong?
I've tinkered with some serial devices before, connected to Arduino boards, and I know that they do not need to be connected before the first frame is transmitted. In my experience they can be plugged in whenever you feel like it, and they will work.
Thanks for your help explaining this. I am really confused!