RS232-485的奇偶校验。 点击:4251 | 回复:9



linac

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 48回
  • 年度积分:0
  • 历史总积分:312
  • 注册:2002年7月21日
发表于:2005-09-07 12:30:00
楼主
试了市面上的几种rs232/485转接器,发现没有一种实现了奇偶校验,即接收时无法判断是否校验错。 大侠们能不能推荐一款。



GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2005-09-07 13:40:00
1楼
RS-232/485 转换器, 通常只作信号之转换, 至于通信的内容是否正确, 那是要由 Device 与 PC 端去进行查验的. 像 I-7520 这样的转换器是通透性存在的, 它只会忠实的将信号作转换, 而不会给您回应任何错误信息的! http://www.icpdas.com.cn/products/products_detail.asp?pd_code=C07090I7520 http://www.icpdas.com/products/Remote_IO/i-7000/i-7520.htm 再者, 奇偶校验是个很简陋的检查法, 很多错误是检查不出来的, 不建议您使用奇偶校验. 例: 送出 0000 0000 0, 收到 1111 1111 0; 奇偶校验会 OK, 但数据却不是您想要的!

linac

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 48回
  • 年度积分:0
  • 历史总积分:312
  • 注册:2002年7月21日
发表于:2005-09-07 23:30:00
2楼
GaryLin: 再次多谢。 RS232-C的标准可以从LSR(line status register)读到传输状态,比如framinng error:找不到停止位,parity error:奇偶校验错。 至少这两个错误可以从RS485传输状态中映射过来,但是市面的转换器都没做到。

autoyx.com

  • 精华:0帖
  • 求助:0帖
  • 帖子:32帖 | 634回
  • 年度积分:0
  • 历史总积分:882
  • 注册:2005年9月27日
发表于:2005-11-03 21:47:00
3楼
奇偶校验是软件的事,与硬件无关

康乐

  • 精华:0帖
  • 求助:1帖
  • 帖子:25帖 | 55回
  • 年度积分:0
  • 历史总积分:216
  • 注册:2004年2月02日
发表于:2005-11-13 21:16:00
4楼
请问奇偶校验是电脑与仪表自动完成的吗?要对其编程吗?

GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2005-11-14 13:49:00
5楼
奇偶校验应是由软件去对 UART 作设定, 设定完后即由 UART 自行去产生与检查. 但最后检查的结果是要由软件去决定, 要收下来还是丢弃.

康乐

  • 精华:0帖
  • 求助:1帖
  • 帖子:25帖 | 55回
  • 年度积分:0
  • 历史总积分:216
  • 注册:2004年2月02日
发表于:2005-11-16 21:30:00
6楼
也就是说只要设定好了就可以了,对吗?

GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2005-11-17 10:13:00
7楼
差不多是这样!
在 DOS 或 单片机 的环境下, 您的程序得自行处理有问题的 data; 而在其它 OS, 如 Windows/Linux 等, 则会由系统内建的 driver 处理掉.

康乐

  • 精华:0帖
  • 求助:1帖
  • 帖子:25帖 | 55回
  • 年度积分:0
  • 历史总积分:216
  • 注册:2004年2月02日
发表于:2005-11-24 20:11:00
8楼
也就是说在windows下不需要编程,电脑与仪表能自动完成,只需在编程时设定好了就可以了,是这样吗?

GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2005-11-25 10:51:00
9楼
是的, 在 Windows 下只要设好 Parity Check Mode 即可.
不过, 要提醒您, Parity Check 只能查出小部份的通信错误, 2 个 bits 以上的错误很可能是查不出来的. 也因此, Parity Check 是较少用的一项功能!

热门招聘
相关主题

官方公众号

智造工程师