我有一个MKS压力传感器与9针DB连接器。用户界面是通过RS-232或RS-485串行通信.我目前正在开发使用pyserial和python的代码,通过一个即插即用的RS-232到usb适配器查询转换器。我确信适配器可以工作,因为我已经使用它通过pyserial与另一台仪器进行通信。
换能器的相关引脚如下:
3 - POWER +
4 - POWER -
6 - RELAY COMMON
7 - RS485 - / RS232 TXD
9 - RS485 + / RS232 RXD我的适配器连接到/dev/ttyUSB1 1。
换能器有一个工厂默认波特率= 9600,数据格式是8位数据,没有奇偶校验和一个停止位。根据手册,RS485和RS232的查询和命令语法是相同的。
我遇到的问题是询问换能器。
查询所需的语法是:
@<device address><query>?;FF例如,查询当前波特率:@253 FF?;FF
其中:
@ <attention charector>
253 <default address>
BR? <query for baud rate>
;FF <terminator>我的python代码是:
import serial
Piezo = serial.Serial(port ='/dev/ttyUSB1',
baudrate=9600,parity =serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS,
timeout =1)
print Piezo.isOpen()
Piezo.write('@253BR?;FF')
print Piezo.readall()
Piezo.close()我的答复是:
%运行/home/vivekd/Desktop/Software/Pressure/Piezon.py True
不幸的是,我没有得到回复,我假设它与写入序列和非传统终止程序有关。我试过其他的写作组合,但我没有得到回应。任何和所有的建议都会有帮助。
谢谢。
-V
发布于 2013-09-23 11:37:26
问题解决了,问题是rs232发送和接收的引脚布线都是向后的。
https://stackoverflow.com/questions/18729297
复制相似问题