|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
各位大侠好!
请教一个关于RS-232通信的问题:
假如如下设置uart,
开始位=0;
停止位=1;且停止位为1位
数据位数=8;
无奇偶校验;
波特率为9600;
以下数据需要发送,byte1=10101010 byte2=00001111,暂不考虑字节内bit的发送顺序(在RS-232中,低bit先被发送)
在串口发送时,会在8位数据两边加入开始位0和停止位1,则如下:
0,10101010,1,0,10001111,1,...
在接收端,假如由于某种原因uart没能检测出"0,10101010,1"的起始位,那么会在下一个"0"开始接收,这时变成:
(0,1)0(101010,1,0,)1(0001111,1,...
这时,uart接收了一个错误的数据,但不会报错。
如果是这样,RS-232标准在通信时,是不是不可靠呀?
这里主要是起始位和停止位的问题。异步通信需要起始位和停止位来同步字节接收。但是起始位错位时怎么办?
各位大侠,请指教!多谢多谢!
Email:hao8522@126.com |
|