【问题标题】:Noise when talking to printer over serial connection通过串行连接与打印机通话时出现噪音
【发布时间】:2012-10-05 00:27:07
【问题描述】:

当我的软件通过串行连接与收据打印机通信时,它会遇到许多看似毫无意义的消息,可能是噪音。谁能帮我确定发生了什么?我需要对此作出回应吗?我可以忽略它并继续吗?

一些配置信息:

我的电脑:

{'baudrate': '9600', 'flowcontrol': 'XON/XOFF', 'port': 'CNCB0'}
Serial<id=0x17ab1b0, open=True>(port='\\\\.\\CNCB0', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=0.01, xonxoff=1, rtscts=0, dsrdtr=0), printer: Serial<id=0x17ab290, open=True>(port='\\\\.\\COM1', baudrate=9600, bytesize=8, parity='E', stopbits=1, timeout=0.01, xonxoff=1, rtscts=0, dsrdtr=0)

打印机:

{'parity': 'E', 'baudrate': '9600', 'bytesize': '8', 'brand': 'Epson', 'stopbits': '1', 'flowcontrol': 'XON/XOFF', 'interface': 'Serial', 'port': '1'}

我的电脑通过发送打印机启动

'\x1bv' 

然后我的电脑不断循环发送打印机

'\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv' 

打印机回复

'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

【问题讨论】:

    标签: python printing serial-port flow-control


    【解决方案1】:

    遇到很多看似毫无意义的消息

    通过串行异步线路接收全部垃圾通常是波特率问题。

    通过串行异步线路接收随机垃圾通常是帧问题,例如奇偶校验不匹配。

    你的电脑

    parity='N'

    您的打印机

    '奇偶校验':'E'

    ERGO 您的奇偶校验设置(无与偶数)和帧大小(10 位与 11 位)不匹配。

    【讨论】:

      【解决方案2】:

      有许多潜在的原因。首先,你能得到任何好的数据吗?还是全是垃圾?如果都是垃圾,那么波特率不匹配是一个常见问题。除此之外,还有几件事需要检查:

      1. 验证您的通讯设置。您正在指定软件流控制。你确定这是正确的吗?
      2. 验证您的电缆和/或连接。电缆好吗?连接器呢?电缆有多长?附近是否有强烈的噪音源?
      3. 如何将打印机连接到计算机?它是一个真正的 COM 端口吗?或者它是 USB 到 RS-232 转换器电缆之一?您是连接到笔记本电脑还是台式机?通常,笔记本电脑使用 +/- 5V 之类的东西“伪造”RS-232 信号,而不是真正的 +/-12V RS-232 信号。因此,通信可能更容易受到噪音的影响。

      【讨论】:

        猜你喜欢
        • 2013-08-05
        • 2016-07-16
        • 1970-01-01
        • 2011-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-27
        • 1970-01-01
        相关资源
        最近更新 更多