通过多点总线与串行设备通信

时间:2014-02-11 09:06:08

标签: serial-port multidrop-bus

我是串口通讯的新手。对于一个项目,我必须为自动售货机开发软件。自动售货机基本上由主计算机(windows xp机器)和各种外围设备组成。其中一个外围设备是硬币接收器。根据自动售货机的文档,主计算机使用串行端口与硬币接收器通信。我所拥有的唯一文档是这个名为“多点总线/内部通信协议”的文档(我可以在这里找到我的版本:http://www.coin-acceptor.com.cn/Upload/EditorFiles/technicalfile/Mdb_version_4-2.pdf)。

根据文档,似乎我必须使用9600的波特率,1个起始位,1个停止位,1个模式位和8个数据位(链接文档中的第29页)创建串行端口连接。自动售货机doc说硬币接收器在COM端口6上。我尝试使用HyperTerminal和Putty创建这样的连接。我的第一个问题是:

  1. 如何正确创建与支持此MDB'协议'的设备的连接? Putty和HyperTerminal不允许我设置“模式位”。我没有找到有关文档中的流控制和奇偶校验位的任何信息。可以使用Putty或HyperTerminal完成吗?或者我是否需要其他工具来通过MDB进行通信?
  2. 我的第二个问题是关于如何向设备发送命令。我查看了命令并看到了一个RESET命令。根据该文档,在接收到RESET命令时,设备应自行重置并以ACK响应。根据该文件的第33和63页,如果我想将RESET命令发送到硬币接收器,我可以通过串行线发送HEX值08H。第33页说明硬币转换器监听发送到地址08H直到10H的命令(如果我正确地解释文件,那就是)。第63页指出RESET命令是08H,没有数据字节。那么我可以在Putty中输入“08H”并按“enter”将该命令发送到设备吗?或者如何通过串行线将此命令发送到设备?这是正确的方法还是我在完全错误的地方?自动售货机文档仅包含硬币接收器的此文档。谢谢你的帮助!

    亲切的问候

    克里斯

0 个答案:

没有答案